免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ssfjhh
打印 上一主题 下一主题

[服务应用] 怎样监控一个daemon服务? [复制链接]

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
11 [报告]
发表于 2015-05-02 20:04 |只看该作者
回复 8# lyhabc


    刚才transmission-daemon崩溃以后,那个脚本依然还在运行,按理说sleep 5,最多5秒种就会恢复,但是不知道为什么恢复不了。

论坛徽章:
12
技术图书徽章
日期:2014-07-11 16:27:5215-16赛季CBA联赛之山西
日期:2016-01-08 16:10:11操作系统版块每日发帖之星
日期:2015-08-01 06:20:002015亚冠之武里南联
日期:2015-06-11 01:12:162015年亚洲杯之阿联酋
日期:2015-03-20 11:41:462015年亚洲杯纪念徽章
日期:2015-03-18 18:08:422015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-10 22:23:32天秤座
日期:2014-08-20 15:53:35水瓶座
日期:2014-08-11 12:08:51午马
日期:2014-07-23 23:03:38IT运维版块每日发帖之星
日期:2016-02-18 06:20:00
12 [报告]
发表于 2015-05-03 02:51 |只看该作者
回复 6# ssfjhh


    不应该啊,我是根据你贴图写的条件。难道贴图没有贴完?

grep failed 成功 $? 为 0 就执行重启。
没有找到failde的时候, $? 为 -1 应该不会执行重启服务的啊。

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
13 [报告]
发表于 2015-05-03 13:33 |只看该作者
@ssfjhh

num=`sudo service transmission-daemon status 2>/dev/null|grep failed|wc -l`
    if [ ${num} -eq 1 ]; then
      sudo service transmission-daemon start
    fi
    sleep 5
    done
这里有一个问题就是:如果你的服务在5秒钟之后还没有启动起来,那么这个脚本又会获取当前服务的状态,认为服务还是failed,然后又重启服务
重启服务之后5秒钟之后还未完全启动起来,然后脚本再一次restart服务

然后变成   死循环


论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
14 [报告]
发表于 2015-05-03 14:52 |只看该作者
lyhabc 发表于 2015-05-03 13:33
@ssfjhh

num=`sudo service transmission-daemon status 2>/dev/null|grep failed|wc -l`


后面倒是还有一些内容,就是一些崩溃时正在活动的种子的状态,但是没有failed一词,用这个脚本应该是没有问题的,但是不懂为什么崩溃后无法启动起来。

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
15 [报告]
发表于 2015-05-03 14:54 |只看该作者
回复 14# ssfjhh


    应该不是这个样的,启动也要不了5秒啊,而且至少应该看到有启动成功,之前那个脚本也是5秒一个循环,我就能看到这个服务不停的重启。

论坛徽章:
17
巨蟹座
日期:2014-11-20 23:04:5215-16赛季CBA联赛之北控
日期:2018-08-01 16:08:4015-16赛季CBA联赛之浙江
日期:2017-12-08 11:25:2415-16赛季CBA联赛之四川
日期:2016-11-21 00:16:50操作系统版块每日发帖之星
日期:2016-07-28 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-25 15:36:04操作系统版块每日发帖之星
日期:2016-02-12 06:20:002015亚冠之西悉尼流浪者
日期:2015-08-28 14:48:322015亚冠之平阳省
日期:2015-08-19 14:54:162015亚冠之武里南联
日期:2015-07-07 10:49:112015亚冠之城南
日期:2015-06-22 10:15:002015亚冠之山东鲁能
日期:2015-06-18 18:03:44
16 [报告]
发表于 2015-05-04 18:02 |只看该作者
ssfjhh 发表于 2015-05-03 14:54
回复 14# ssfjhh

写日志做判断,为何不能启动

论坛徽章:
17
巨蟹座
日期:2014-11-20 23:04:5215-16赛季CBA联赛之北控
日期:2018-08-01 16:08:4015-16赛季CBA联赛之浙江
日期:2017-12-08 11:25:2415-16赛季CBA联赛之四川
日期:2016-11-21 00:16:50操作系统版块每日发帖之星
日期:2016-07-28 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-25 15:36:04操作系统版块每日发帖之星
日期:2016-02-12 06:20:002015亚冠之西悉尼流浪者
日期:2015-08-28 14:48:322015亚冠之平阳省
日期:2015-08-19 14:54:162015亚冠之武里南联
日期:2015-07-07 10:49:112015亚冠之城南
日期:2015-06-22 10:15:002015亚冠之山东鲁能
日期:2015-06-18 18:03:44
17 [报告]
发表于 2015-05-04 18:06 |只看该作者
phanx 发表于 2015-05-03 02:51
回复 6# ssfjhh

你这个理解错了,这个是判断上一条命令是否执行成功,其实不管服务是否运行,你的命令都是可以正常执行,自然就会出现反复重启服务的情况

论坛徽章:
12
技术图书徽章
日期:2014-07-11 16:27:5215-16赛季CBA联赛之山西
日期:2016-01-08 16:10:11操作系统版块每日发帖之星
日期:2015-08-01 06:20:002015亚冠之武里南联
日期:2015-06-11 01:12:162015年亚洲杯之阿联酋
日期:2015-03-20 11:41:462015年亚洲杯纪念徽章
日期:2015-03-18 18:08:422015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-10 22:23:32天秤座
日期:2014-08-20 15:53:35水瓶座
日期:2014-08-11 12:08:51午马
日期:2014-07-23 23:03:38IT运维版块每日发帖之星
日期:2016-02-18 06:20:00
18 [报告]
发表于 2015-05-04 18:21 |只看该作者
回复 17# yyu0378


上一条命令是 grep 。
找到 failed 返回0  没找到failed返回-1哦。

也就是服务是 failed的情况才会执行重启。

论坛徽章:
17
巨蟹座
日期:2014-11-20 23:04:5215-16赛季CBA联赛之北控
日期:2018-08-01 16:08:4015-16赛季CBA联赛之浙江
日期:2017-12-08 11:25:2415-16赛季CBA联赛之四川
日期:2016-11-21 00:16:50操作系统版块每日发帖之星
日期:2016-07-28 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-25 15:36:04操作系统版块每日发帖之星
日期:2016-02-12 06:20:002015亚冠之西悉尼流浪者
日期:2015-08-28 14:48:322015亚冠之平阳省
日期:2015-08-19 14:54:162015亚冠之武里南联
日期:2015-07-07 10:49:112015亚冠之城南
日期:2015-06-22 10:15:002015亚冠之山东鲁能
日期:2015-06-18 18:03:44
19 [报告]
发表于 2015-05-04 20:29 |只看该作者
phanx 发表于 2015-05-04 18:21
回复 17# yyu0378

$?就是指上条命令直接的结果,其实无论服务怎么样,你的上条都是返回的0,因为成功执行了,并退出了

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
20 [报告]
发表于 2015-05-04 20:32 |只看该作者
回复 18# phanx


    那该怎么办呢?我就想让这个transmission-daemon能够连续运行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP