Reading this discussion, I notice a subtlety.  If you execute:

$ command-A >( command-1) <( command-2 )
$ command-B

when command-B executes, command-2 must have terminated already because
command-A wouldn't have seen the EOF from command-2 until command-2
terminated.  (OK, I am assuming here that command-A did read its second
argument until EOF, and that's not guaranteed.)  But there's no
guarantee that command-1 has terminated; all that command-B can depend
on is that EOF was *sent* to command-1.

However, the documentation talks of $! possibly being the PID of
command-1 etc., but my (old) manual page doesn't describe how $! could
be set to be the PID of command-1, or even how a script could determine
the PID of command-1 in order to set $! to that number.  (Although it
does describe that if $! is the PID of command-1, then "wait without id"
will wait for $!.)

Dale

Reply via email to