I had a problem with john miller's bash script because bash didn't die quickly enough for the microsleep to get re-parented by init (upstart), so here is a better version:
#!/bin/bash usleep 1 & firstPID=$! #first lets exhaust the space while (( $! >= $firstPID )) do usleep 1 & done # [ will use testPID itself, we want to use the next pid declare -i testPID testPID=$(($1 - 1)) while (( $! < $testPID )) do usleep 1 & done # fork a background process then die so init reaps its pid sleep 3 & echo "Init will reap PID=$!" kill -9 $$ # EOF Example usage: # sh /tmp/upstart_fix.sh 19915 Init will reap PID=19915 Killed -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/406397 Title: init: job stuck with expect fork/daemon when parent reaps child To manage notifications about this bug go to: https://bugs.launchpad.net/upstart/+bug/406397/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs