dash (0.5.5.1-3ubuntu2) doesn't seem put jobs in their own pgrp when
setsid'ed, as required by the "set -o monitor" (set -m) option:


$ cat >test.sh <<EOF
#!/bin/sh
set -m
sh -c 'while :; do sleep 3; done' &
set +m
echo "Waiting for $!"; wait; echo Done
EOF

$ setsid test.sh
Waiting for 25828
$ kill -- -25828
kill: (-25828) - No such process
$ ps -Leo pid,ppid,pgrp,cmd  # pgrp of job is pid of test.sh

This does not happen with bash, or if running the script directly
without setsid.

This bug makes it hard to write some scripts robustly.


-- 
Dan Muresan
http://alumnus.caltech.edu/~muresan/
--
To unsubscribe from this list: send the line "unsubscribe dash" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to