我想编写一个 shell 脚本,在后台生成几个长时间运行的进程,然后挂起。收到 SIGTERM 后,我希望所有子进程也终止。
基本上,我想要一个“主进程”。
这是我到目前为止得到的:
#!/bin/sh
sleep 600 &
PID1="$!"
sleep 600 &
PID2="$!"
# supposedly this should kill the child processes on SIGTERM.
trap "kill $PID1 $PID2" SIGTERM
wait
上面的脚本失败了trap: 10: SIGTERM: bad trap
。
编辑:我正在使用 Ubuntu 9.04