实践中,经常发现有些shell命令长期执行,于是整理一程序,crontab定时清理下:
#!/bin/sh p_name=phantomJs while true do sleep 3 #every 3s check pid="$(ps -ef|grep $p_name|awk '{print $2}'|head -n1)" echo $pid ptime="$(ps -eo pid,etime|grep $pid|awk '{print $2}' |head -n1)" echo $ptime pstatus="$(echo $ptime|awk '{split($1,tab,/:/); if (tab[2]+tab[1]*60>=60) {print 1}else{print 0} }')" echo $pstatus #if time > 1 hour,return 0,else 1 if [ $pstatus="1" ];then kill -9 $pid echo "kill success " $pid fi done原文链接:https://www.f2er.com/bash/390891.html