社区
Linux/Unix社区
帖子详情
如何用守护进程来监控另一个进程的状态
gcc_gun
2009-08-14 10:40:48
如题,当另一个进程状态僵死或者不可用的时候,守护进程就会去重新启动这个进程,这如何能够实现,请各位DX帮忙~~~
...全文
842
8
打赏
收藏
如何用守护进程来监控另一个进程的状态
如题,当另一个进程状态僵死或者不可用的时候,守护进程就会去重新启动这个进程,这如何能够实现,请各位DX帮忙~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gcc_gun
2009-08-21
打赏
举报
回复
[Quote=引用 7 楼 vicky1982 的回复:]
假设要监控的进程名称为test,TargetProcessName为启动该进程的脚本
while [ 0 ]
do
Result=$(ps -ef | grep -v grep |grep "test")
if [ "" == "$Result" ]
then
RecordTime=$(date)
echo "Restar test" >>$LogFile
nohup $TargetProcessName>>$LogFile &
sleep 2
fi
Result=
done
[/Quote]
谢谢,这种方法是实现了如果进程列表中没有该进程的话,就执行相应的程序。
但是我现在想要实现的是进程状态不正常的时候就对其进行重启。
我现在的做法是:用父进程去创建这个进程,然后调用waitpid(),该函数在子进程状态改变为不正常的时候会返回,根据返回值做一些相应的处理。
另外,根据进程占用CPU使用率的情况也可以获得一些信息,但是用TOP来获取CPU占用率比较困难,但是TOP是实时的,信息比较准。
vicky1982
2009-08-19
打赏
举报
回复
假设要监控的进程名称为test,TargetProcessName为启动该进程的脚本
while [ 0 ]
do
Result=$(ps -ef | grep -v grep |grep "test")
if [ "" == "$Result" ]
then
RecordTime=$(date)
echo "Restar test" >>$LogFile
nohup $TargetProcessName>>$LogFile &
sleep 2
fi
Result=
done
threeleafzerg007
2009-08-18
打赏
举报
回复
回楼上 都能 status 有一系列的宏 对应可以检测。
threeleafzerg007
2009-08-17
打赏
举报
回复
你说的一般都是一个watch dog 进程 一旦被监视进程死掉了 对吧 就立马重启一下。
也简单, 用watch dog进程 fork 被监视进程 然后 waitpid上 根据 返回的status 决定进一步的操作。
用脚本估计也是行的。
gcc_gun
2009-08-17
打赏
举报
回复
怎么没有人来看看呢。。。小弟急啊~~~
gcc_gun
2009-08-17
打赏
举报
回复
[Quote=引用 4 楼 threeleafzerg007 的回复:]
你说的一般都是一个watch dog 进程 一旦被监视进程死掉了 对吧 就立马重启一下。
也简单, 用watch dog进程 fork 被监视进程 然后 waitpid上 根据 返回的status 决定进一步的操作。
用脚本估计也是行的。
[/Quote]
对啊,是指的这个意思,呵呵,谢谢啊~~~
waitpid能够返回进程的僵死啊,异常这些状态吗?我去查一下。
另外再问一下,守护进程能否完成此项工作的?
gcc_gun
2009-08-14
打赏
举报
回复
谢谢一楼的回复,你回复的网址不知道为什么我打不开~~~
在这过程中我自己找到了一个,但是效果不好~~~当一个进程处于(SL)状态的时候,我没有找到这个状态是什么意思,猜想应该是中断的意思吧,那个脚本就没有作用了,进程一直处于死的状态,kill是不起作用的了,不知道是怎么回事~~~我里面也没有用到什么信号量啊这些会导致相互等待的东西,请帮忙,谢谢~~~
猫已经找不回了
2009-08-14
打赏
举报
回复
http://www.zrway.com/news/news_in.jsp?RecNo=332
其实写个脚本监控即可
weblogic
守护
进程
:
监控
weblogic
进程
,当发现
进程
停止时调用重启脚本重启
#功能:weblogic
守护
进程
:
监控
weblogic
进程
,当发现
进程
停止时调用重启脚本重启 #参数:
进程
唯一标识码,例如“weblogic” #依赖脚本:数据库操作脚本dbExecurteSQL.sh,weblogic重启脚本$PSSC_DOMAIN/startPssc.sh...
守护
进程
,背靠背c++实现
守护
进程
,通过守护
一个
进程
进行对该
进程
的
监控
,当这个
进程
,异常停止,
守护
进程
则启动这个
进程
。同时
守护
进程
有防杀功能,当被恶意程序杀死后,会被另一
进程
启动,这两个
进程
互相
监控
.
守护程序
进程
监控
进程
保护
这个程序,可以添加你要
监控
的
进程
,自动把他拉起来, 程序挂掉后,也可以拉起来
C#实现
守护
进程
,
监控
时间和多个
监控
程序可以在xml文件中配置
做的小demo,可以实现多个
进程
的
监控
,
监控
的判断是
进程
的路径为基准,xml文件实现自由配置。
Python 编写windows
守护
进程
程序
项目中使用python写
一个
监控
程序,每隔5秒
监控
目录,发现文件就立刻FTP同步到另一台服务器。业务要求高实时性和高可用性。为了谨防程序崩溃,特别编写
一个
守护
进程
程序,时刻
监控
程序是否崩溃并重新启动。 博文: ...
Linux/Unix社区
23,124
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章