Linux下的多进程编程

题目

编写多进程代码,实现 主进程 创建 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;
}

截图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45031509/article/details/128144210
今日推荐