【问题标题】:how to send SIGINT to a shell script? [duplicate]如何将 SIGINT 发送到 shell 脚本? [复制]
【发布时间】:2016-09-25 14:42:56
【问题描述】:

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

进程 1 成功结束。

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

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

【问题讨论】:

标签: bash shell unix


【解决方案1】:

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

编辑:

例如,如果您正在启动以下进程:

process1 &
process2 &
process3 &
process4

修改它以便当任何进程结束时它会杀死你可以使用的所有其他进程:

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

【讨论】:

  • 这似乎回答了与这里提出的问题不同的问题。
  • @tripleee,他的问题不是很清楚,但我已经更新了我的答案,提供了有关我正在解决的确切情况的更多详细信息。
猜你喜欢
  • 1970-01-01
  • 2010-11-01
  • 1970-01-01
  • 2018-05-27
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 2018-02-11
相关资源
最近更新 更多