由fork()系统调用返回的值
问题描述:
为什么fork()系统调用不会将父进程ID返回给子进程并将零返回给父进程?由fork()系统调用返回的值
pid_t pid;
pid = 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