On 5/14/24 10:20 AM, Andreas Schwab wrote:
On Mai 14 2024, Chet Ramey wrote:

Setting the process group might solve this particular issue, at the cost of
losing keyboard-generated signals. That's not so bad for SIGINT, though
people do expect to be able to kill a procsub when you interrupt the job
using it, but you also wouldn't be able to suspend the procsub with ^Z any
more. When you're  running a job that contains a process substitution, the
historical behavior has been that you're able to suspend it along with the
rest of the job. Same with hitting the job pgrp with something like SIGHUP.

But leaving it in the process group of the parent shell does not
accomplish that, which is actually the point of this thread.

It does in two cases: a builtin command, where the process group doesn't
change, and a pipeline, where the process group is already set and the
process substitution doesn't change it.

A process
substitution is similar to a pipeline; it really belongs to the process
group of the command that reads from it.

The problem with this case is that the word expansion is performed before
the child process is created, so there is no "process group of the command
that reads from it."


--
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    c...@case.edu    http://tiswww.cwru.edu/~chet/


Reply via email to