如何将 SIGINT 发送到 shell 脚本?

kri*_*ant 5 unix bash shell

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

过程 1 成功结束。

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

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

cca*_*ton 4

您可以使用命令终止当前的 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)

  • 这似乎回答了与此处提出的问题不同的问题。 (5认同)