我有一个shell脚本启动两个java进程。如何确保当shell脚本进程被杀死时,它的所有孩子都会被杀死?例如,当我尝试杀死它时,java进程仍然存活:
kill -9 myscriptID
答案 0 :(得分:1)
答案 1 :(得分:0)
您的kill
命令只会杀死您的脚本,而不会杀死它产生的其他进程。 Best way to kill all child processes有一些很好的答案可以杀死整棵树。
也就是说,似乎更好的设计是跟踪子进程的PID,而不是发送父SIGKILL
,发送它SIGTERM
(或者有其他方式) )触发它优雅地杀死它的孩子。