免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2443 | 回复: 8
打印 上一主题 下一主题

如果发现某一个程序死掉,如何用SHELL实现监控、自动开启? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-31 14:26 |只看该作者 |倒序浏览
比如说,linux系统下运行着一个程序叫"game"这个程序会开放“28300”端口

用SHELL如何实现对这个程序的监控?如果发现这个程序死掉后,马上再开启?

请高手出个点子,万分感谢 ^^

论坛徽章:
2
丑牛
日期:2014-06-11 13:55:04ChinaUnix元老
日期:2015-02-06 15:16:14
2 [报告]
发表于 2009-10-31 14:40 |只看该作者
你怎么判断这个程序死了?进程不在了?端口不在了?还是别的标准?

论坛徽章:
0
3 [报告]
发表于 2009-10-31 15:17 |只看该作者
感谢版主热心回复:wink:


应该是先去判断程序还在不在运行着的吧?

论坛徽章:
0
4 [报告]
发表于 2009-10-31 16:20 |只看该作者
这个 只能去判断端口是不是可用 因为就是程序浆掉了 进程也可能是在运行的
所以...
用expect+telnet 估计可以


我写了一个perl的

  1. #!/usr/bin/perl

  2. use strict;
  3. use warnings;
  4. use Net::Telnet;

  5. my $ip = "ipaddress";
  6. my $port = "28300";
  7. my $t = new Net::Telnet(Timeout => 2);

  8. eval { $t->open(Host => "$ip", Port => "$port");};
  9. if (length($@) == 0) {
  10.     $t->close;
  11.     print "service port check ok";
  12. }else{
  13.     print "serivce port check failed";
  14. }
复制代码

论坛徽章:
0
5 [报告]
发表于 2009-10-31 17:18 |只看该作者
万分感谢,我去测试下。

论坛徽章:
6
数据库技术版块每日发帖之星
日期:2015-10-11 06:20:00数据库技术版块每日发帖之星
日期:2015-10-12 06:20:00数据库技术版块每日发帖之星
日期:2015-10-15 06:20:00数据库技术版块每日发帖之星
日期:2015-10-30 06:20:00综合交流区版块每月发帖之星
日期:2015-12-02 14:59:01数据库技术版块每日发帖之星
日期:2015-12-15 06:20:00
6 [报告]
发表于 2009-10-31 21:27 |只看该作者

回复 #1 hjk857 的帖子

为何不用daemontools呢?

论坛徽章:
0
7 [报告]
发表于 2009-10-31 22:50 |只看该作者
原帖由 love100 于 2009-10-31 21:27 发表
为何不用daemontools呢?


刚才试着去安装daemontools,但是不明白如何用daemontools实现去监控一个程序是否在运行,如果该程序死掉即时自动启动程序?

论坛徽章:
0
8 [报告]
发表于 2009-11-01 13:14 |只看该作者
版主大人,请问一下。怎么用daemontools监控named呢?

/usr/sbin/named -u named -c /usr/local/named/etc/named.conf

如果named意外退出了,是否可以用daemontools来开启服务?

论坛徽章:
0
9 [报告]
发表于 2009-11-01 15:14 |只看该作者
daemontools以前是用来判断qmail的 作为一套工具叫DJB tools开发出来
如果你要监控的话 其实是自己写的判断端口的脚本最好了 因为daemontools是判断进程的存在与否 而不是该服务健康与否 不存在启动服务 存在忽视
而很难达到大多数监控端口的 进程僵死 而且有时候会因为判断错误不停的开启进程导致资源占用光
有能力就自己写吧 明显用telnet判断端口的 存活的要比deamontool强很多 而且不会遭遇bug
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP