之前寫的監控腳本,有太多的子進程,如果直接kill主進程,子進程會歸到init進程直到運行完畢。所以查殺起來比較麻煩
在寫腳本的時候可以記錄PID放到一個文件裏,再用腳本查殺比較方便
例如,執行腳本如下,記錄進程號到pid文件
echo "$$" > pid;
while :
do
for i in `seq 1 10`
do
echo "PID: $$: $i";
echo "UID: $UID: $i";
echo "PPID: $PPID: $i";
sleep 3;
done &
echo "";
sleep 1;
done
查殺是用如下腳本
pid=`cat pid`;
ps --ppid $pid | awk '{if($1 != "PID") print $1}'| xargs kill -9
kill -9 $pid;
echo "done!!!";