免费注册 查看新帖 |

Chinaunix

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

如何让检测自动断掉的进程,让它自动从新启动 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-31 11:09 |只看该作者 |倒序浏览
系统最近运行的一个进程老是每隔一些时间就自动关掉了,
当程序自己断掉后日志messages中的信息就会增加一行记录
Aug 31 09:00:17 log kernel: pid 1516 (qf_server), uid 0: exited on signal 11 (core dumped)
通过top命令查看该进程运行的信息如下
3777 root          19   8    0 19512K 13896K nanslp 1   0:01  0.00% qf_server
程序那边我就不知是什么原因引起的,因为该程序不是我写的,我只负责刚程序运行了就行,所以不用讨论该
程序的bug。
既然那个程序老是自动断掉,我想写一个脚本如每5秒检测qf_server这个进程是不是在运行着,
如果没有运行就调用相关命令运行。
或者检测messages信息,如发现多了条该进程断掉的日志信息就执行运行命令。
各位有什么建议,这个检测shell应该怎么写?
该程序运行还是断掉只能得到以下信息
3777 root          19   8    0 19512K 13896K nanslp 1   0:01  0.00% qf_server
Aug 31 09:00:17 log kernel: pid 1516 (qf_server), uid 0: exited on signal 11 (core dumped)

[ 本帖最后由 lys0212linux 于 2009-8-31 11:11 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-08-31 13:58 |只看该作者
linux是否应该有这样的守护进程呢?

论坛徽章:
0
3 [报告]
发表于 2009-08-31 14:06 |只看该作者
while [ -e /usr/tool_shell/top ]
do
top > /usr/tool_shell/top
sleep 5
server_status=`cat /usr/tool_shell/top |grep qf_server`
if [ -z "$server_status" ] ;
then
echo "-------------------------------------------------" >> /usr/tool_shell/qf.log
echo $(date +"%y-%m-%d %H:%M:%S") >> /usr/tool_shell/qf.log
echo "-------------------------------------------------" >> /usr/tool_shell/qf.log
echo "qf_server have been exited! try to start qf_server" >> /usr/tool_shell/qf.log

/usr/local/2.0s/server/qf_server -d start

sleep 5

top > /usr/tool_shell/top

sleep 3
server_status=`cat /usr/tool_shell/top |grep qf_server`


if [ -n "$server_status" ] ;
then
echo "qf_server  start success!" >> /usr/tool_shell/qf.log
fi
fi
sleep 3
done
我写好了,不知还有没有更好的,是freebsd系统的,这里人气旺,所以来这求助,望见谅!!!

[ 本帖最后由 lys0212linux 于 2009-8-31 14:19 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP