奇怪的Parent ID

Strange Parent ID

我在我的代码中使用了两个分支:

int main()
{
cout<<"Main Process ID is: "<<getpid()<<endl;

int processID;

processID = fork();

cout<<"Part 1"<<endl;
cout<<"PID is: "<<getpid()<<" Child PID: "<<processID<<" Parent PID: "<<getppid()<<endl;

processID = fork();

cout<<"Part 2"<<endl;
cout<<"PID is: "<<getpid()<<" Child PID: "<<processID<<" Parent PID: "<<getppid()<<endl;

return 0;
}

但是"children"有些奇怪"Parent ID"。为什么? (请参考下方截图)

非常感谢。

在您的情况下,parent 首先执行,因此最终终止。在这种情况下,child 成为孤儿,因此它的 parent id 被同一组中其他进程的 id 替换,或者 child 得到 re-parented。因此,parent id 不同(奇怪)。