fork函数会有两个返回值,返回值大于0的retfd控制父进程,返回值等于0的retfd控制子进程,
并且大于0的那个retfd就是子进程的pid
#include<stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main (void)
{
pid_t pid = -1;
rfd = fork();
if(rfd>0)
{
printf("子进程%d,\n 返回值%d\n",getpid(),rfd);
sleep(5);
//父进程
}
if(rfd == 0) //执行会发现父进程中的返回值rfd= 子进程的pid
{
printf("父进程%d,返回值%d\n",getpid(),rfd);
//子进程
}
if (rfd<0)
{
perror("fork");
return -1;
}
exit(0);
}