实践中,经常发现有些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
本文介绍了一个使用Shell脚本配合Crontab实现对长时间运行的PhantomJS进程进行周期性检查与清理的方法。该脚本每三秒检查一次目标进程的运行时长,若超过一小时则强制终止。
4022

被折叠的 条评论
为什么被折叠?



