fork函数创建了一个子进程,通过pid的返回值,控制在父子进程中做不同的事情,当pid >0 说明在父进程中,当pid==0说明在子进程中。
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("pid: %d\n", getpid());
pid_t pid;
pid = fork();
if(pid<0)
{
perror("fork error");
}
else if(pid>0)
{
// parent process
printf("I am parent process pid is %d ppid is %d, fork return is %d\n", getpid(), getppid(), pid);
}
else
{
// child process
printf("I am child process pid is %d ppid is %d, fork return is %d\n",getpid(), getppid(), pid);
}
printf("pid: %d\n", getpid());
sleep(1);