如何判断一个进程失去响应,如失去响应就重启它

ppssdd 2004-11-10 09:44:36
整个过程是这样:
有一个Server,Server一直运行,理想状态不会失去响应,同时有一个应用程序也在运行,当Server接到指令要检测那个应用程序是否还有响应,如果没有响应就Kill这个应用程序的进程,并重启这个应用程序。

现在关键是如何检测应用程序是否还有响应,怎么样Kill掉它,怎么样重启它这三个问题。

大家帮帮忙,这样的问题帖子很多,但都没有提供完整的例子代码,我是菜鸟,告诉我方法自己写还不太可能,需要看代码学习! 谢谢了!
...全文
1076 30 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
lnp 2004-12-21
  • 打赏
  • 举报
回复
mark
ppssdd 2004-11-15
  • 打赏
  • 举报
回复
TO:
linxy2002(阿郎) :
已经收到,谢谢! 我已经看了,帮助很大!
ppssdd 2004-11-15
  • 打赏
  • 举报
回复
To: hjunxu(hjun):
“如果程序在很忙的干活,比如处理一个消息响应很久,messagepump没有动静系统就会认为你的程序没有响应的,所以可能杀错。”
你说得很有道理,但我要实现的目的与这个没什么大的关系,因为有个重要应用是不能长时间失去响应,也就是说宁可错杀,不可漏杀,反正要重启的!
hikuers 2004-11-13
  • 打赏
  • 举报
回复
学习!
hjunxu 2004-11-13
  • 打赏
  • 举报
回复
你可以说说你这样应用理由吗?
hjunxu 2004-11-13
  • 打赏
  • 举报
回复
楼主你的应用好奇怪啊。
如果程序在很忙的干活,比如处理一个消息响应很久,messagepump没有动静系统就会认为你的程序没有响应的,所以可能杀错。
linxy2002 2004-11-13
  • 打赏
  • 举报
回复
已经发给你了,不知道是否满足你的要求
ppssdd 2004-11-12
  • 打赏
  • 举报
回复
TO:
linxy2002(阿郎) :
还是你理解我啊!
我给你发了消息了,多谢,你可以发给我了!~ :)
ppssdd 2004-11-12
  • 打赏
  • 举报
回复
TO:
blastzgd(边城浪子) :
当window任务管理器中应用程序的状态被判为无响应时,你知道是阻塞了?还是死循环了?也是无理要求?
Magnus 2004-11-11
  • 打赏
  • 举报
回复
典型的WatchDog,
讓被監視的進程定時發消息給WatchDog,
超時就認定為失去響應,
就reset
mixtrue 2004-11-11
  • 打赏
  • 举报
回复
To : ppssdd()

应用程序和进程当然有差别了,详情参见os 书籍 。
NNBWOLF 2004-11-11
  • 打赏
  • 举报
回复
阿狼也贴点代码看看...
linxy2002 2004-11-11
  • 打赏
  • 举报
回复
我写了个小例子不知道符不符合你的需要,你来向我要吧
blastzgd 2004-11-11
  • 打赏
  • 举报
回复
楼主这个不知算不算无理要求。
你的没响应是什么意思?阻塞了?还是死循环了?

linxy2002 2004-11-11
  • 打赏
  • 举报
回复
呵呵,是啊,对于菜鸟来说,例子才是正道!
你把要求说清楚写,我帮你写一个,我的: linxy_2002@yahoo.com.cn
ppssdd 2004-11-10
  • 打赏
  • 举报
回复
mixtrue:

一个正在执行的exe文件可以叫一个应用吧, 也是一个进程啊,这两个有什么区别吗?
ppssdd 2004-11-10
  • 打赏
  • 举报
回复
大家的意见都很好,就是没有例子啊! 俺是菜鸟!
ppssdd 2004-11-10
  • 打赏
  • 举报
回复
DentistryDoctor(雅克医生<改行做程序员了>) :
BOOL IsHungAppWindow(HWND hWnd);参数hWnd怎么取呢?你发个例子可以吗?
mixtrue 2004-11-10
  • 打赏
  • 举报
回复
To DentistryDoctor :

The function of IsHungAppWindow is testing the application (specified application ), not The process. I think that the IsHungAppWindow will not works to PROCESS.
oyljerry 2004-11-10
  • 打赏
  • 举报
回复
WaitForSingleObject等待句柄返回
Terminate终止进程
CreateProcess启动进程
加载更多回复(10)

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧