【发布时间】:2011-05-27 09:25:16
【问题描述】:
我有一个 bash shell 脚本 S1,它同步启动另一个 shell 脚本 S2(仅包含 sleep 20),即在前台。
我想要的是以下内容:
当我向S1 发送 SIGTERM 或 SIGINT 时,S1 和 S2 都应该停止。
实际上,如果我在前台的命令行上启动 S1 并且如果我按下 CTRL-C(与我是否在脚本中显式捕获 SIGINT 无关),那么它会起作用。
当我在后台启动S1,然后用kill -s SIGINT $! 向它发送SIGINT 信号时,直到S2 终止其正常处理,即S2 没有被中断。
我的用例是后者,我需要一种方法来中断S1 和S2,只需向S1 发送信号。
【问题讨论】:
-
搜索
[unix] SIGINT返回了许多有希望的答案。特别是stackoverflow.com/questions/4042201/…。祝你好运。