Re: 如何控制父进程创建子进程时候的某些Handle不被继承?

Windows内核调试

如何控制父进程创建子进程时候的某些Handle不被继承?


jlflyfox 2009-04-08, 11:22 上午

我的需求就是希望子进程被创建的时候,有些句柄被正常继承,而有些句柄,如socket这些就不要被继承了,免得端口冲突

 

我还想不出太好的办法来实现,难道又只能hook

Re: 如何控制父进程创建子进程时候的某些Handle不被继承?


MJ0011 2009-04-08, 11:26 上午
打开时不设bInheritHandle 即可

Re: 如何控制父进程创建子进程时候的某些Handle不被继承?


jlflyfox 2009-04-08, 11:46 上午

谢谢MJ。我还是不明白,子进程并没有显示打开这些handle啊。

我没有说太清楚,我的场景是这样,父进程A创建了子进程B带继承属性,因为希望B能够继承很多东东;

子进程B同时也继承了父进程的socket,也包含了port;

本来如果一切平安也就无事,但不巧父进程A由于某种原因需要重启,而B却不能重启,必须时刻运行;

 A重启的时候由于要显示bind端口,而端口已经在B那里,导致端口冲突问题重启不成功;

所以我希望B被创建的时候不要继承那个socket/port,但可以继承其他的handle。

Powered by Community Server Powered by CnForums.Net