- fork 函数从哪里开始执行
#include <unistd.h>;
#include <sys/types.h>;
main ()
{
pid_t pid;
pid=fork(); // 从这里开始程序分岔,父子进程都从这一句开始执行一次
if (pid < 0)
printf("error!");
else if (pid == 0)
printf("child process, process id is %dn", getpid());
else // pid > 0
printf("parent process, process id is %dn",getpid());
}
- fork函数的子进程的进程ID
a. 当父进程存在时,子进程的ID是父进程的ID
b. 当父进程已经退出时,子进程为孤儿进程,此时getppid() 为init 进程