我正在读一本书,偶然发现了这样一句话:Windows does not maintain parent-child relationships among processes like Unix does.不幸的是,没有进一步的解释。那么,Unix和Windows进程之间的父子关系有什么不同呢?
发布于 2012-12-04 14:29:56
Windows不提供直接的getppid API,也没有Win32 API来派生进程并继承父进程的所有内存(在windows上,子进程只在被允许时才继承句柄)。即使以间接方式获得进程的父PID,也不能保证获得指向有效进程的PID,因为有关进程的父PID的信息仅在进程创建时捕获,并且在父进程先于子进程死亡的情况下永远不会更新。
因此,获取父进程PID的间接方法只会告诉创建此进程的进程的PID是什么,其他什么都不知道。(不像在Unix或其他操作系统中,init进程将孤立进程作为其子进程),并且在windows中,人们不会谈论孤立进程或僵尸。
可能还有更多。所有这些(甚至更多)相当于"windows不维护父子关系“这句话。
https://stackoverflow.com/questions/13697018
复制相似问题