Machine: i586 OS: linux-gnu
Compiler: gcc Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i586' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i586-mandriva-linux-gnu' -DCONF_VENDOR='mandriva' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I.. -I../include -I../lib -O2 -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fomit-frame-pointer -march=i586 -mtune=pentiumpro -fasynchronous-unwind-tables uname output: Linux localhost 2.6.18.8.tex5 #1 SMP Thu May 10 11:36:58 WST 2007 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GNU/Linux Machine Type: i586-mandriva-linux-gnu Bash Version: 3.1 Patch Level: 17 Release Status: release Description: The bash shell restricts the wait builtin to operating on child processes of the current shell or script. This is an excessive restriction as it should be restricted to processes owned by the same user as that of the current shell or script. Crude but equivalent functionality can be achieved with (but shouldn't need to be worked around with using such a kludge): while kill -CONT [pid] 1>/dev/null 2>&1; do sleep 1; done Repeat-By: To see the restriction in action: 1. Do a "ps -ef | grep $USER" 2. Select a pid from the list of processes 3. Do a "wait [pidnum]" on the chosen pid. Actual Results: The builtin fails with "bash: wait: pid [pid] is not a child of this shell" Expected Results: The shell should wait until the process exits as long as the process is owned by the same user. This can be attempted with the script sample above and will not fail as long as user can send signals to (i.e. "owns") the process in question. Fix: This restriction should be more appropriate.