Linux系统下创建子进程
在Linux终端下输入命令:man 2 fork
,查看fork()函数的描述:
/*
NAME
fork - create a child process
#include <sys/types.h>
#include <unistd.h>
pid_t fork(void);
作用:用于创建子进程
返回值:
fork()的返回值会返回两次。一次是在父进程中返回,一次会在子进程中返回。
在父进程中返回子进程的id,在子进程中返回0,通过fork()的返回值可以区分父进程和子进程。
在父进程中返回-1,表示创建子进程失败,并设置perror。
*/
下面是简单案例:
#include <sys/types.h>
#include <unistd.h>
#include <iostream>
int main(){
using std::cout;
using std::endl;
//创建子进程
pid_t pid = fork();
//判断是父进程还是子进程
if(pid > 0){
//如果大于零,返回的是子进程的进程号,当前在父进程
cout<< "I am parent process,pid:"<<getpid()<<" ppid:"<<getppid()<<endl;
cout<<"pid:"<<pid<<endl;
}
else if(pid == 0){
//当前是子进程
cout<<"I am child process,pid:"<<getpid()<<" ppid:"<<getppid()<<endl;
}
for(int i=0;i<5;i++){
cout<<"i:"<<i<<" " <<"pid: "<<getpid()<<endl;
sleep(1);
}
}
标签:fork,返回,函数,pid,Linux,进程,include
From: https://www.cnblogs.com/nakjima/p/17266264.html