日期:2014-05-16  浏览次数:20580 次

C语言 判断进程是否存在的问题
双进程 相互监控,发现对方被杀后马上将对方重启。


用CreateToolhelp32Snapshot 方法能够实现,但嫌它有点占CPU资源。


不知有无高手了解相关技术。(可以包含注入、hook等方法)

------解决方案--------------------
同学,你发错地方了- -

HOOK ExitProcess 类似函数 发现是指定进程,则 特殊处理 - -。。。
------解决方案--------------------
获取进程的PID然后写到对应的文件里,每次启动前判断此文件是否存在,当然这种方法不是最可靠的
------解决方案--------------------
什么叫相互监控...

一个监控一个的话最即时的办法我觉得就是fork子进程执行被监控程序,父进程wait就行了。
------解决方案--------------------
http://community.csdn.net/bbs/2011/11/exercise.pdf

或者自己遍历PEB,也可以拿到,那个拿的也比较靠谱
------解决方案--------------------
CreateToolhelp32Snapshot 
这个函数还行吧,记得以前看王艳平的书的时候里面就用了这个函数

linux下可以用kill发信号看进程是否存在,windows下都不知道怎么搞了
------解决方案--------------------
探讨
获取进程的PID然后写到对应的文件里,每次启动前判断此文件是否存在,当然这种方法不是最可靠的