我正在编写一个包含多个进程的守护进程。一旦第一个过程完成,它就会停止并需要手动中断SIGINT(CTRL + C)。 下一个脚本运行后。
流程1成功结束。
如何添加SIGINT以进一步自动进行?
问题可能微不足道,但只能找到我们如何在脚本中捕获给定信号,但是如何在完成任务后添加一个?
答案 0 :(得分:0)
您可以使用命令kill -TERM -$$
来终止当前的bash shell及其所有子进程。
编辑:
例如,如果您要启动以下流程:
process1 &
process2 &
process3 &
process4
要对其进行修改,以便在任何流程结束时它会杀死您可以使用的所有其他流程:
( process1 ; kill -TERM -$$ ) &
( process2 ; kill -TERM -$$ ) &
( process3 ; kill -TERM -$$ ) &
process4 ; kill -TERM -$$