pid_t fork(void),fork函数是一个无参数类型的函数。
调用fork函数成功时,会返回两次,当返回值大于0时,代表当前进程是父进程,返回值等于零时,代表此时是子进程。
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
int main()
{
pid_t pid;
pid_t retpid;
printf("这是父进程 pid=%d\n",getpid());
retpid=fork();
if(pid==getpid()){
printf("这是父进程 pid=%d retpid=%d\n",pid,retpid);
}
else{
printf("这是子进程 pid=%d retpid=%d\n",getpid(),retpid);
}
return 0;
}
通过运行结果得知,fork创建子进程后,返回值大于0的是父进程,等于0的是子进程,同时父进程的返回值会被拷贝成为子进程的进程标识符。