fork()在 Linux 系统库 unistd.h 中的函数声明如下:pid_t fork(void);
程序:forktest.c
#include <stdio.h>
#include <unistd.h>
main()
{
pid_t pid;
printf("Now only one process\n");
printf("Calling fork...\n");
pid = fork();
if(!pid)
printf("I'm the child\n");
else if(pid>0)
printf("I'm the parent,child has the pid %d\n",pid);
else
printf("Fork fail\n");
}
$ gcc forktest.c -o forktest
$ ./forktest
结果:
Now only one process
Calling fork...
I'm the parent,child has the pid 2545
I'm the child
pid值为零:子进程;pid>0父进程;pid为负fork失败;