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