如何将SIGINT发送到shell脚本?

时间:2016-09-25 14:42:57

标签: bash shell unix

我正在编写一个包含多个进程的守护进程。一旦第一个过程完成,它就会停止并需要手动中断SIGINT(CTRL + C)。 下一个脚本运行后。

流程1成功结束。

如何添加SIGINT以进一步自动进行?

问题可能微不足道,但只能找到我们如何在脚本中捕获给定信号,但是如何在完成任务后添加一个?

1 个答案:

答案 0 :(得分:0)

您可以使用命令kill -TERM -$$来终止当前的bash shell及其所有子进程。

编辑:

例如,如果您要启动以下流程:

process1 &
process2 &
process3 &
process4

要对其进行修改,以便在任何流程结束时它会杀死您可以使用的所有其他流程:

( process1 ; kill -TERM -$$ ) &
( process2 ; kill -TERM -$$ ) &
( process3 ; kill -TERM -$$ ) &
process4 ; kill -TERM -$$