我有一個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