我有一个这样的脚本:
#!/bin/sh
exec ./cmd1&
exec ./cmd2
如果我杀死脚本只会导致cmd2
被杀,cmd1
会继续运行。
是否有可能两个进程自动退出?
答案 0 :(得分:3)
不要做第二个exec
(第一个也是多余的),但让shell等待它。杀死shell可能会杀死命令;如果没有 - 那么:
trap 'kill -15 $kids; exit 143' TERM
cmd1 &
kids=$!
cmd2 &
kids="$kids $!"
wait