mak*_*123 3 c posix fork child-process
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main ( void ) {
int pid, fpid, ppid;
fpid = fork();
printf ("fpid is is %d\n", fpid);
sleep(5);
if (fpid > 0) {
pid = getpid();
ppid = getppid();
printf ("\nThis is Parent. My pid %d. My parent's pid %d\n", pid, ppid);
} else if (fpid == 0) {
sleep(1);
pid = getpid();
ppid = getppid();
printf ("\nThis is Child. My pid %d. My parent'a pid %d\n", pid, ppid);
}
}
Run Code Online (Sandbox Code Playgroud)
我认为当父进程 ID 为 1 时,意味着父进程已终止,因此子进程的父进程将重新设置为 1(init,第一个进程)。父进程有什么原因会被终止吗?