fork
  4WdcduV19eWs 2023年11月02日 75 0

#include <unistd.h>

#include <sys/wait.h>

#include <iostream>

#include <signal.h>

#include <list>

using namespace std;


void handler(int){

   pid_t pid = wait(NULL);

   // cout << pid << " exit" << endl;

   printf("%d exit\n",pid);

}

int main(){

   signal(SIGCHLD,handler);

   // cout << getpid() << endl;

   // list<pid_t> pids;

   pid_t pid = -1;

   for(int i=0;i<10;++i){

      if(pid==0){

         sleep(5);

         // cout << "pid:" << getpid() << endl;

  printf("pid:%d\n",getpid());

      }else{

         pid = fork();

  /*if(pid!=0){

      pids.push_front(pid);

  }*/

      }

   

   }

   sleep(50);

   // pause();

   /*

   if(pid!=0){

for(auto pid:pids){

        cout << "before wait:" << pid << endl;

        waitpid(pid,NULL,0);

        cout << "end wait:" << pid << endl;

}

    pause();

   }*/

}

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  ehrZuhofWJiC   2024年04月26日   34   0   0 内核linux
  ehrZuhofWJiC   2024年05月17日   34   0   0 linuxsvn
  ehrZuhofWJiC   2024年05月17日   37   0   0 KVMlinux
  ehrZuhofWJiC   2024年05月17日   33   0   0 服务器linux
4WdcduV19eWs
作者其他文章 更多

2023-11-02

2023-11-02

2023-11-02

2023-11-02

2023-11-02

2023-11-02

2023-11-02

2023-11-02

2023-11-02