返り値は2つ、子プロセスには 0 を返す。親プロセスのには子プロセスのプロセス ID を返す。
int main(){ pid_t pid; int fd[2]; int n; char buf[BUFSIZ]; printf("Process: %d\n", getpid()); pid = fork(); if(pid == 0){ printf("Child Process: %d\n", getpid()); } else { printf("Parents Process: %d\n", getpid()); printf("pid: %d\n", pid); } printf("EXIT: %d\n", getpid()); return 0; }
結果
Process: 77685 Parents Process: 77685 pid: 77686 EXIT: 77685 Child Process: 77686 EXIT: 77686