linux shell編程,先等10秒再判斷是否有進程存在,存在就再等10秒再殺了進程才運行
crontab每分鍾執行一次,但5秒以上才有更新數據,有時候一分鍾可能跑不完上一個進程,需要先等10秒再判斷是否有進程存在,存在就再等10秒再殺了進程(有沒有在都執行殺進程的命令)才運行,超過20秒沒有執行完成就判斷為假死異常了,需要刪掉再繼續運行。這樣各種情況都考慮到了。
#!/bin/sh sleep 10 PID=`ps aux | grep lstm_prob.py | awk '{print $2}'` if [ -n "$PID" ]; then sleep 10 ps -ef|grep -v grep|grep lstm_prob.py |awk '{print "kill -9 "$2}'|sh fi cd /root/tf/ nohup /usr/local/bin/python3.6 lstm_prob.py >nohup.out 2>&1 &