问题描述
- 关于windows下非子进程之间的运行状态实时监测
-
情况是这么回事
我在做个windows平台的东西,需要一个管理进程,管理着一堆服务进程,然后我需要在服务进程异常关闭的时候实时通知管理进程。
因为实时性要求的原因,所以心跳的方式直接被我无视了。
因为主要是想达到服务进程异常关闭直接宕掉的情况,因此我找来找去也没啥好办法。
唯一可以借鉴的方法是socket的方式,当一对socket连接中的服务器和客户端,服务器用recv阻塞住,当客户端异常关闭的时候服务器recv直接返回SOCKETERROR,这样就能在第一时间处理client的关闭了。
但是我现在要搞得是本地进程间的异常关闭响应,所以我不想用socket。
于是就考虑到文件互斥读写,创建一个只存在于内存的共享文件,然后由服务进程对其独占,而管理进程则阻塞在对该文件的请求中,当服务进程宕掉的时候管理进程能第一时间做出反应。具体实现办法还没实现
不知道诸位有没有什么具体实现的好方法啊?
解决方案
这个需要监控内核对象,参考
http://www.cnblogs.com/hongfei/p/3162546.html
时间: 2024-10-02 10:53:45