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:55:37 +0200 [thread overview]
Message-ID: <20190706235537.GB14626@zira.vinc17.org> (raw)
In-Reply-To: <CAH+w=7bUROc+9idB-K7ja_mO6BfNAnj0Hq+gUs1678p3FDE9Gg@mail.gmail.com>
On 2019-06-29 09:17:13 -0700, Bart Schaefer wrote:
> zsh% coproc { echo foo; sleep 3; echo err >&2 }; head -n 1 <&p; kill %+
> [1] 53747
> foo
> zsh%
> [1] + terminated { echo foo; sleep 3; echo err >&2; }
> zsh%
>
> If you're going to kill the right-side with an interrupt or other
> signal, you'll have to arrange to trap that so that the subsequent
> kill isn't also skipped. Also in practice you want something more
> specific than "kill %+" which could kill the wrong job if you have
> multiple backgrounded jobs and the coproc exits before the kill
> occurs.
Something like that seems to work:
unsetopt NOTIFY
coproc ...
local j="${${$(jobs %+)%%]*}#\[}"
less -f <&p
kill %$j
but I would like to get rid of the job status that appear at the end.
--
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:56 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
[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
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
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=20190706235537.GB14626@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).