为什么fork()系统调用没有将父进程的进程ID返回给子进程并将0返回给父进程?
pid_t pid;
pid = fork();
在本节中,fork()的返回码对于子节点为零,子节点的(非零)进程id返回给父节点。
如何从孩子那里找出父母的PID?
答案 0 :(得分:0)
您可以在执行fork()之前保存它。编写fork()以返回在fork完成之前不知道的id。
答案 1 :(得分:0)
您始终可以在fork之前获取父级的PID并将其保存在变量中。在fork之后它将是相同的。 跑吧:
pid_t parent;
....
parent = getpid();
pid = fork(); //If pid is 0 your parent's pid is in parent