Linux
如何檢查程序是否仍在輸出或掛起
我正在使用一些 casperjs 腳本(我不太了解),但存在一個已知問題,即程序在特定警告消息後掛起。否則它每隔幾秒鐘就會輸出一條日誌消息。
我需要在掛起時重新啟動該過程。
那麼我可以製作一個腳本來檢查日誌文件是否在每個時間間隔都變大了?或者我可以截取程序的控制台輸出並檢查最後一條消息是否與特定的警告消息相同?
任何幫助將不勝感激,謝謝!
#!/bin/sh LOGFILE="/path/to/logfile/" CURRENT_SIZE=`stat --format "%s" $LOGFILE` while true; do LAST_SIZE=$CURRENT_SIZE sleep 10 CURRENT_SIZE=`stat --format "%s" $LOGFILE` if [[ $CURRENT_SIZE -eq $LAST_SIZE ]]; then echo "Restarting process" #do whatever you need to restart process... sleep 5 CURRENT_SIZE=`stat --format "%s" $LOGFILE` fi done