2012-12-04 83 views
2

我正在读一本书并碰到这句话:Windows does not maintain parent-child relationships among processes like Unix does.不幸的是,没有任何进一步的解释。那么Unix和Windows进程之间的父子关系有什么区别呢?Windows中的亲子关系

回答

4

Windows不提供直接的getppid API,没有Win32 API来分派进程并继承父级的所有内存(在Windows儿童只在允许时才继承这些句柄)。即使以进程浏览器使用的间接方式获取进程的父PID,也不能保证获得指向有效进程的PID,因为有关进程的父PID的信息只能在在父母死在孩子面前的情况下,过程创建的时间并不会更新。

因此,获取父PID的间接方法只会告诉创建此过程的进程的PID,仅此而已。 (与Unix或其他init进程将孤儿进程作为子进程的其他进程不同)在Windows上,人们不会谈论孤儿进程或僵尸。

可能还有更多。所有这些(以及更多)等同于“窗口不维护父子关系”的陈述。