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