首页
社区
课程
招聘
[求助]如何检测某一指定进程是否被关闭?
发表于: 2010-3-11 17:18 4963

[求助]如何检测某一指定进程是否被关闭?

2010-3-11 17:18
4963
这个进程启动后我保存了它的handle,有什么函数可以检测它的存在??

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 393
活跃值: (100)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
2
STARTUPINFO si = {0};
PROCESS_INFORMATION pi = {0};

CreateProcess( __T("123.exe"), NULL, NULL, NULL, FALSE, NULL, NULL, NULL, &si, &pi);
WaitForSingleObject( pi.hProcess, -1);

}

进程被结束后WaitForSingleObject返回。
2010-3-11 18:11
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
3
遍历所有进程  
OpenProcess得到句柄
然后和你之前保存的那个handle比较  
如果发现一样的  就表明没有退出
如果没有发现   就表明已经退出了
2010-3-11 18:31
0
雪    币: 636
活跃值: (174)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
4
GetExitCodeProcess
2010-3-11 19:00
0
雪    币: 91
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
谢谢各位了。
2010-3-11 23:20
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
WaitForSingleObject
2010-3-11 23:36
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
7
3楼我说的方法不好  可能会有问题    还是2楼的比较好
2010-3-12 08:47
0
雪    币: 7992
活跃值: (2566)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
嗯..因为现在的内核驱动这潭水是越来越浑浊.

假设有人给你的进程增加了一个引用基数却故意或者无意忘记了递减.

那么.即使你的进程死了.也是僵死进程.

到时候你仍然可以打开.但是实际已经死掉.
2010-3-12 09:02
0
雪    币: 538
活跃值: (259)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
赞同这个方法
2010-3-12 15:31
0
游客
登录 | 注册 方可回帖
返回
//