题目
编写多进程代码,实现 主进程 创建 3个子进程 。每个子进程输出 1~ 10的数字,每2秒输出一个。主进程输出子进程的创建情况,pid。
代码
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<iostream>
using namespace std;
int main(){
pid_t pid;
for (int i=0;i<3;i++){
pid=fork();
if(pid==0){
for(int j=1;j<=10;j++){
cout<<"this is child"<<i+1<<" and PID="<<getpid()<<" parentPID="<<getppid()<<" print(1-10):"<<j<<endl;
sleep(2);
}
break;//创建多个子进程,这里必须要break退出,不然子进程会继续拆创建子进程
}
else if(pid<0){
cout<<"error";
exit(1);
}
else if(pid>0){
cout<<"this parent PID="<<getpid()<<" and child progress "<<i+1<<" has created"<<endl;
}
}
return 0;
}