From: Vincent Lefevre <vincent@vinc17.net>
To: zsh-users@zsh.org
Subject: Re: kill the LHS command of a pipe once the RHS command terminates
Date: Sun, 7 Jul 2019 01:49:19 +0200 [thread overview]
Message-ID: <20190706234919.GA14626@zira.vinc17.org> (raw)
In-Reply-To: <20190629153055.kb444goqcmpfblac@chaz.gmail.com>
On 2019-06-29 16:30:55 +0100, Stephane Chazelas wrote:
> 2019-06-29 03:24:33 +0200, Vincent Lefevre:
> [...]
> > Thus if the left-hand-side process has terminated, this tries to
> > kill a random process!
> [...]
>
> Fair enough.
>
> Then, how about:
>
> page-and-kill() ("$@" | { ${PAGER:-less}; kill -s PIPE 0; })
Unfortunately, this is not usable as a Ctrl-C kills the pager.
Actually I suppose that Ctrl-C kills the subshell, and the pager
as a consequence. And if I use the following,
page-and-kill() (trap '' INT; "$@" | { trap - INT; less; kill 0; })
the "kill 0" no longer kills the command. This can be seen with:
(trap '' INT; { echo foo; sleep 10; } | { trap - INT; less; kill 0; })
after typing Ctrl-C in "less", then q to quit. I've noticed that
dash and mksh have the same issue, but neither bash, nor ksh93.
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
next prev parent reply other threads:[~2019-07-06 23:50 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20190628110430.GA13790__36317.6205357135$1561719956$gmane$org@zira.vinc17.org>
2019-06-28 18:41 ` Stephane Chazelas
2019-06-29 1:24 ` Vincent Lefevre
2019-06-29 15:30 ` Stephane Chazelas
2019-07-06 23:49 ` Vincent Lefevre [this message]
2019-07-29 23:08 ` Vincent Lefevre
2019-07-29 23:15 ` Vincent Lefevre
2019-07-29 23:42 ` Bart Schaefer
2019-07-30 0:40 ` Vincent Lefevre
2019-06-28 11:04 Vincent Lefevre
2019-06-28 11:38 ` Vincent Lefevre
2019-06-29 16:17 ` Bart Schaefer
2019-07-06 23:55 ` Vincent Lefevre
2019-07-07 4:54 ` Bart Schaefer
2019-07-09 10:08 ` Vincent Lefevre
2019-07-09 10:54 ` Vincent Lefevre
2019-07-29 15:23 ` Vincent Lefevre
2019-07-29 15:54 ` Bart Schaefer
2019-07-29 20:48 ` Vincent Lefevre
2019-07-30 0:00 ` Bart Schaefer
2019-07-30 0:17 ` Vincent Lefevre
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190706234919.GA14626@zira.vinc17.org \
--to=vincent@vinc17.net \
--cc=zsh-users@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).