[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: some problems with scope of fds in process substitution
From: |
Chet Ramey |
Subject: |
Re: some problems with scope of fds in process substitution |
Date: |
Mon, 4 Dec 2017 08:46:24 -0500 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 |
On 12/3/17 6:07 PM, Stephane Chazelas wrote:
> 2017-12-03 17:31:00 -0500, Chet Ramey:
>> On 12/1/17 2:00 PM, Stephane Chazelas wrote:
>>
>>> Also, there's a lot of problems reported at
>>> unix.stackexchange.com at least that are caused by bash not
>>> waiting for the processes started by process substitutions,
>>> especially the >(...) form.
>>
>> Bash always reaps these processes. Do you mean waiting for them
>> to terminate before executing the next command?
> [...]
>
> Hi Chet,
>
> yes, that's what I meant as in:
>
> $ rm -f a; bash -c 'echo test > >(cat > a); cat a'
> $
Bash-4.4 allows you to wait for the last process substitution, since the
pid appears in $!, like ksh93. There's still no option to wait for more
than one, though I imagine I could make that work as part of `wait'
without arguments.
$ cat ~/x20a
rm -f a;
echo test > >(cat > a)
echo waiting for $!
wait $!
echo $?
cat a
$ ../bash-4.4-patched.rhe6/bash ~/x20a
waiting for 2762
0
test
$ ../bash-4.4-patched.rhe6/bash --version
GNU bash, version 4.4.12(2)-release (x86_64-unknown-linux-gnu)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/