在后台监控某些进程,如果该进程执行时间超过30秒就杀掉它,请赐教!
网络上有一个版本:自动查杀超时或僵死的进程的脚本,没有测试过。
ps -e -o pid -o etime -o args|grep LOCAL=NO>/tmp/tmpfilecat /tmp/tmpfile|while read LINEdoTIME=`echo $LINE|awk '{print $2}'`TIME=`echo $TIME|awk -F: '{print $1}'`if [ $TIME -gt 30 ]thenecho $LINE >> /tmp/tmpflie2fidonecut -c 1-5 /tmp/tmpfile2 |xargs -t -n1 kill -9rm -f /tmp/tmpfilerm -f /tmp/tmpfile2
然后把这个脚本写进crontab,让系统每30分钟运行一次。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(2)
网络上有一个版本:自动查杀超时或僵死的进程的脚本,没有测试过。
ps -e -o pid -o etime -o args|grep LOCAL=NO>/tmp/tmpfile
cat /tmp/tmpfile|while read LINE
do
TIME=`echo $LINE|awk '{print $2}'`
TIME=`echo $TIME|awk -F: '{print $1}'`
if [ $TIME -gt 30 ]
then
echo $LINE >> /tmp/tmpflie2
fi
done
cut -c 1-5 /tmp/tmpfile2 |xargs -t -n1 kill -9
rm -f /tmp/tmpfile
rm -f /tmp/tmpfile2
然后把这个脚本写进crontab,让系统每30分钟运行一次。