Process fork()系统调用返回的值
为什么fork系统调用不将父进程ID返回给子进程,而将零返回给父进程Process fork()系统调用返回的值,process,fork,Process,Fork,为什么fork系统调用不将父进程ID返回给子进程,而将零返回给父进程 pid_t pid; pid = fork(); 在本节中,子进程的fork返回代码为零,子进程的非零进程id返回给父进程 如何从子对象中找出父对象的PID?您可以在执行fork之前保存它。写入fork是为了返回直到fork完成后才知道的id。您总是可以在fork之前获取父对象的PID,并将其保存在变量中。叉子之后也是一样的。 只需运行: pid_t parent; .... parent = getpid(); pid =
pid_t pid;
pid = fork();
在本节中,子进程的fork返回代码为零,子进程的非零进程id返回给父进程
如何从子对象中找出父对象的PID?您可以在执行fork之前保存它。写入fork是为了返回直到fork完成后才知道的id。您总是可以在fork之前获取父对象的PID,并将其保存在变量中。叉子之后也是一样的。 只需运行:
pid_t parent;
....
parent = getpid();
pid = fork(); //If pid is 0 your parent's pid is in parent
这里都解释得很清楚