我想知道为什么在存在时waitpid()
返回-1 。fopen()
FILE *fp = fopen ("abc.txt", "r");
fclose(fp);
pid_t pid = fork ();
if (pid == 0) { /* child process */
printf ("child %d\n", getpid());
}
else { /* parent process */
pid_t pid2 = waitpid (pid);
printf ("parent %d\n", pid2);
}
pid2
pid
等于上例中的 -1,但如果我消除它,它会变成与 (子进程号) 相同的数字fopen()
。感谢您的澄清!