我有一个bash shell脚本S1
,它同步启动另一个shell脚本S2
(仅包含sleep 20
),即在前台。通过发送信号在后台停止shell脚本
我想是这样的:
当我送SIGTERM或SIGINT到S1
,既S1
和S2
应该停止。
实际上,如果我在前台命令行上启动S1
,并且按CTRL-C(不管是否明确地捕获脚本中的SIGINT),它都可以工作。
当我开始在后台S1
,然后用kill -s SIGINT $!
它需要发送SIGINT信号直到S2
终止其正常的处理,即S2
不中断。
我的使用案例是后者,我需要一种方法来通过发送一个信号S1
和S2
只需S1
。
寻找'[unix] SIGINT'返回了许多有希望的答案。特别是http://stackoverflow.com/questions/4042201/how-does-sigint-relate-to-the-other-termination-signals。祝你好运。 – shellter 2011-05-27 14:39:50