加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用 Perl 检测 系统进程,实现进程意外退出重启

发布时间:2020-12-15 21:04:35 所属栏目:大数据 来源:网络整理
导读:? ??最近?RedHat?系统中某个关键进程不知道啥米原因,或鸭梨过大。?? 总是无故挂掉。?? 于是写了这个小脚本,自动检测指定进程。?? 使用?ps?-ef?获取内容,if?+?eq?判断?? 如果内容为空,则重新启动进程。?? 本脚本存为?xxx.pl?然后用?crontab?定时执行即可

?

 
 
  1. ??最近?RedHat?系统中某个关键进程不知道啥米原因,或鸭梨过大。??
  2. 总是无故挂掉。??
  3. 于是写了这个小脚本,自动检测指定进程。??
  4. 使用?ps?-ef?获取内容,if?+?eq?判断??
  5. 如果内容为空,则重新启动进程。??
  6. 本脚本存为?xxx.pl?然后用?crontab?定时执行即可。??
  7. 但脚本名字别取为?跟所需进程检测相同的名字。??
  8. 例如检测?mysql?进程。??
  9. 别把脚本名也设为?mysql_ck.pl?这一类的名字。??
  10. 因为本身该脚本在运行中,也会有相应名字的进程,会被误判为?mysql。??
  11. 这样脚本就认为?mysql?依旧执行,判别出错了。??
  12. 代码中?sasl?就是所检测的某个程序,按照需要修改即可。?
  13. ?
  14. [Perl]代码
  15. #! /usr/bin/perl
  16. $ck=`ps -ef | grep 'sasl' | grep -v grep`;

  17. if ($ck eq ''){
  18. print "SASL Down,Start up nown";

  19. `/etc/rc.d/init.d/saslauthd start`;
  20. }else{

  21. print "SASL Runningn";

  22. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读