1
我正面臨一個問題。 我們有一個乾淨的腳本用於清理舊文件,有時我們需要停止它,稍後再啓動它。像下面的過程一樣。我們使用kill -STOP $pid
和kill -CONT $pid
在check.sh控制clean.sh,$pid
是clean.sh所有的PID(在那裏,他們是23939,25804):'殺-STOP和殺-CONT'是如何工作的?
root 4321 0.0 0.0 74876 1184 ? Ss 2015 0:25 crond
root 23547 0.0 0.0 102084 1604 ? S 2015 0:00 \_ crond
root 23571 0.0 0.0 8728 972 ? Ss 2015 0:00 \_ /bin/bash -c bash /home/test/sbin/check.sh >>/home/test/log/check.log 2>&1
root 23577 0.0 0.0 8732 1092 ? S 2015 0:00 \_ bash /home/test/sbin/check.sh
root 23939 0.0 0.0 8860 1192 ? S 2015 0:45 \_ bash /home/test/bin/clean.sh 30
root 25804 0.0 0.0 8860 620 ? S 2015 0:00 \_ bash /home/test/bin/clean.sh 30
root 25805 0.0 0.0 14432 284 ? T 2015 0:00 \_ ls -d ./455bb4cba6142427156d2b959b8b0986/120x60/ ./455bb4cba6142427156d2b959b8b0986/80x
root 25808 0.0 0.0 3816 432 ? S 2015 0:00 \_ wc -l
一旦check.sh停止乾淨.sh,幾小時後,check.sh啓動了clean.sh,但是有一件奇怪的事情,在停止並繼續之後,有一個子進程'ls -d ....
',它仍然停止。
你能告訴我,如果它是由錯誤使用信號引起的?我該如何修改它?