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 &