区分父进程和子进程
判断子进程和父进程可以使用**fork()**函数:
所需头文件:
#include<sys/types.h>
#include<unistd.h>
返回值:
0:子进程
>0: 父进程,返回值为创造出的子进程的PID
-1:出错
pid_t pid;
pid = fork();//获得fork()的返回值,根据返回值判断父进程/子进程
if(pid==-1)//若返回值为-1,表示创建子进程失败
{
perror("cannot fork");
return -1;
}
else if(pid==0)//若返回值为0,表示该部分代码为子进程
{
printf("This is child process\n");
printf("pid is %d, My PID is %d\n",pid,getpid());
}
else//若返回值>0,则表示该部分为父进程代码,返回值是子进程的PID
{ printf("This is parent process\n");
printf("pid is %d, My PID is %d\n",pid,getpid()); //getpid()获得的是自己的进程号
}