网站大量收购独家精品文档,联系QQ:2885784924

linux自动查杀超时或僵死的进程的脚本.pdfVIP

linux自动查杀超时或僵死的进程的脚本.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux 自动查杀超时或僵死的进程的脚本.txt 我这辈子只有两件事不会:这也不会,那也不 会。人家有的是背景,而我有的是背影。肉的理想,白菜的命。肉的理想,白菜的命。白马 啊 你死去哪了!是不是你把王子弄丢了不敢来见我了。 自动查杀超时或僵死的进程的脚本(FW 有时候前置机会出现死进程等,做了这个自动查杀的脚本,已在sco unix505 中测试通过, 如想测试,可ps -efl file ,自行修改file 里的进程状态及占用时间,再将脚本的输入源 由ps -efl 改为从file 得到,屏敝 kill -9 $pid, 即可通过tty 输出及日志文件观察到正 确结果 请大家斧正.谢谢! (如将此脚本加入crontab,时间自定,即可达到自动查杀超时或僵死的进程) CODE:[Copy to clipboard]#!/bin/ksh # 自动查杀超时或僵死的进程的脚本 V050930 #crontab -e #0,5,10,15,20,25,30,40,45,50,55 * * * * /usr/bin/autokill.sh #设置为每5 分钟检 查一次超时进程 #为了安全保险起见,此版脚本的清除范围为:由终端启动的,占用CUP 时间超过指定时间长度 的,非root 用户的进程或僵尸进程 ^_^ #检测参数 killlog=/tmp/kill.log #默认自动清除超时进程或僵死进程的日志 out=60 # 默认的超时时间,以秒为单位,默认为 60 秒,范围为 10 秒--36000 秒 trap rm /tmp/kill.tmp 2/dev/null 0 1 2 3 9 15 test $LOGNAME != root { echo Sorry ! 本 脚 本 只 能 由 root 操 作 !\n\n ; exit 1 ; } test $out || { echo \n 超时时限不能为空\n ; exit 1 ; } test $(echo $out | sed -n /^[0-9][0-9]*$/p) || { echo \n 超时时限只能为整数 值\n ; exit 1 ; } test $out -ge 10 -a $out -le 36000 || { echo \n 超时时限范围为10秒--36000 秒\n ; exit 1 ; } #查找超时或僵尸进程 ps -efl |awk -v outtest=$out { outtime=timetest($14) } $2~/Z/ || ( $3!~/root/ $13!~/\?/ outtime==outtime ) \ {print $3,$4,$13,$2,$14,$15 } function timetest(ot) { hour=substr(ot,1,2) min=substr(ot,4,2) sec=substr(ot,7,8) if ( hour*3600+min*60+sec outtest) return outtime else return good } /tmp/kill.tmp 2/dev/null #保存清除列表 if [ -s /tmp/kill.tmp ] then pass=0 error=0 echo \n 除 时 间: $(date +%y/%m/%d-%H:%M:%S)\n $killlog awk BEGIN{printf(%-8s%-8s%-8s%-7s%-10s%-30s\n),用户名,进程号,终端号,状 态,占用时间,任务名} { state=statetest($4) ; printf(%-8s%-8s%-8s%-7s%-10s%-30s\n),$1,$2,$3,state,$5,$6} END{print \n} function statetest(test) { if (test==S) return 睡眠 if (test==R) return 运行 if (test==Z) return 僵尸 if (test==O) return 不存在 if (test==B) return 等待 if (test==T) return 停止 if (test==I) return 中间 } /tmp/kill.tmp $killlog 2/dev/null #清除进程 for p

文档评论(0)

千帆起航 + 关注
实名认证
文档贡献者

走过路过,不要错过!

1亿VIP精品文档

相关文档