Windows中的父子关系

时间:2012-12-04 06:03:16

标签: windows unix parent-child

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

1 个答案:

答案 0 :(得分:4)

Windows没有提供直接getppid API,没有Win32 API来分叉进程并继承父进程的所有内存(On windows中的子进程只允许继承句柄)。即使以间接方式(如进程资源管理器使用的方式)获取进程的父PID,也不能保证获得指向有效进程的PID,因为有关进程的父PID的信息仅在以下处获取:创建进程的时间,如果父进程在子进程之前死亡,则永远不会更新。

因此,获取父PID的间接方法只会告诉创建此过程的进程的PID是什么,仅此而已。 (与Unix或其他初始进程将孤儿进程视为子进程的情况不同)在Windows上,不会讨论孤立进程或僵尸。

可能还有更多。所有这些(以及更多)相当于“窗口不保持父子关系”的陈述。