0
我想寫一個bash腳本來運行一個進程接連不同的命令行選項大約1024次。然而,其中一個進程包含一個無限循環,我試圖在循環的另一個迭代開始之前終止該進程。Bash腳本:當其他完成時殺死一個進程
所以這裏是我試過到目前爲止(PROG1包括無限循環,我想,當PAPI完成運行後殺吧):
#!/bin/bash
for ((i=0; i<32780; i+=32))
do
./prog1 $i &
pid=$!;
sleep 5s
./papi
kill -s 2 $pid
done
但是它不會殺死任何prog1
情況下,當然它在每次迭代開始時繼續創建它們。我究竟做錯了什麼?
確實PROG1忽略信號2?如果您使用KILL,它會起作用嗎? –
你的腳本以外的殺人行爲是否可行?你嘗試過「殺死-9」嗎? –
你爲什麼使用SIGINT? kill的默認值是SIGTERM,如果使用它,會發生什麼情況? – Graeme