免费注册 查看新帖 |

Chinaunix

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

[系统管理] 请教大家几个shell问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-11-12 19:31 |只看该作者 |倒序浏览
请教大家一个问题,因为不太熟悉编程
判断两个任务是否结束并判断进程是否意外退出,如果两个进程意外退出,则分别启动两个进程。
如果有一个进程意外结束,重启动该进程,忽略已经启动的进程。
并在此过程中判断任务是否正常完成,如果同时完成则退出循环脚本。如果有一个任务完成,则结束此进程的运行。但是
循环脚本不能结束,因为有另一个任务没有完成。在此过程中,如果未完成的任务的进程结束掉,必须重新启动改进程。
已经执行完毕任务的进程不能启动。
本来判断进程和一个任务是否完成,很好些,但是多加了一个不知道怎么写了,又不想同时运行两个脚本,所有来问问大家

论坛徽章:
10
金牛座
日期:2014-09-16 19:02:48技术图书徽章
日期:2015-11-24 01:37:29操作系统版块每日发帖之星
日期:2015-11-18 06:20:002015年亚洲杯之沙特阿拉伯
日期:2015-04-13 17:33:462015年迎新春徽章
日期:2015-03-04 09:51:162015年辞旧岁徽章
日期:2015-03-03 16:54:15午马
日期:2014-12-04 19:33:55白羊座
日期:2014-09-17 19:34:42巨蟹座
日期:2014-09-16 21:09:4815-16赛季CBA联赛之同曦
日期:2016-06-27 23:23:07
2 [报告]
发表于 2014-11-13 00:15 |只看该作者
那么问题来了,如何得知你的进程是正常结束还是意外结束呢?带返回值还好搞,不带返回值的话,谁知道是正常退出还是意外退出呢?

比如a进程正常退出了,b进程还在,如无返回值,那脚本如何判断? 不判断,则脚本又把a给搞起来了,这时候B结束了,脚本又把B 搞起来了。。。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2014-11-13 10:02 |只看该作者
最简单的法子,起一个进程的时候touch一个文件,进程正常exit前删除这个文件,先查看这个进程是否存在,如果进程不存在且不存在touch的那个文件则认为进程正常退出,如果进程不存在但是那个文件存在则认为那个进程是意外退出的

论坛徽章:
0
4 [报告]
发表于 2014-11-13 13:13 |只看该作者
自然是带返回值的,这个返回值是,我每60秒去mysql 去一次值,当值为0的时候,就算正常结束。回复 2# qq58945591


   

论坛徽章:
0
5 [报告]
发表于 2014-11-13 13:15 |只看该作者
是有返回值的哦,mysql每60秒会返回一个值,值为0的时候就算正常退出回复 3# dwl301


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP