1. 程式人生 > >shell指令碼定時kill超過1小時的指定命令

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