shell脚本定时kill超过1小时的指定命令

实践中,经常发现有些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


你可能感兴趣的:(常用工具类)