首页
社区
课程
招聘
[求助]父进程和子进程
发表于: 2009-1-17 19:03 4957

[求助]父进程和子进程

2009-1-17 19:03
4957
A.exe运行起来之后点击某个按钮启动b.exe,那这个b.exe进程的父进程是不是a.exe?

谢谢

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (7)
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
补充:a.exe和b.exe在processexplorer里面显示不是进程树的关系。
2009-1-17 19:06
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
3
善用搜索引擎,可以节省很多时间。

Windows系统是弱化“进程树”的概念的。如果查看系统进程,你就会知道本来shell进程应该是大部分用户进程的父进程,但并不显示其为父进程。

父进程将子进程的相关句柄(进程对象和线程对象等)关闭,内核就认为它们不再有父子关系。

参考资料:

http://61.178.160.7/zjjy1/ruanjiankaifagongju/dzja/2.ppt
2009-1-17 19:25
0
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
版主能不能用一个字或两个字回答?
是或不是?

我没看懂啊
2009-1-17 19:49
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
5
这本来就是一个不能简单地用“是或不是”回答的问题。

他们是不是“父子”关系,完全取决于A进程的行为

只能这样讲,A创建B,它们本是父子关系。A进程既可以保留这样的关系,也可以通过关闭相关句柄的方式来断开这种“父子”关系。

你在ProcessExplorer中看到它们没有列在一个进程树当中,就说明A进程创建B以后,剪断了与B的“父子”关系了。

Windows下“父子”进程的概念并不像*nix中那么重要,只要有相应权限的进程都可以打开其它进程与之通信。
2009-1-17 22:38
0
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
先谢啦
有点明白了
2009-1-17 23:46
0
雪    币: 254
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
儿子可不可以强行断绝父子关系啊
2009-1-18 08:14
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
8
可以,eprocess->parentprocessid
2009-1-18 18:56
0
游客
登录 | 注册 方可回帖
返回
//