Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何并发运行子进程_Linux_Process - Fatal编程技术网

Linux 如何并发运行子进程

Linux 如何并发运行子进程,linux,process,Linux,Process,我希望子进程同时运行。为实现这一点,可以写为: for(p = 0; p < N; p++){ //there will be N child processes pidOfChild = fork(); if(pidOfChild == -1){ printf("fork() failed.\n"); exit(1); } else if(pidOfChild == 0){ //do sth printf(

我希望子进程同时运行。为实现这一点,可以写为:

 for(p = 0; p < N; p++){ //there will be N child processes
    pidOfChild = fork();
    if(pidOfChild == -1){
      printf("fork() failed.\n");
      exit(1);
    }
    else if(pidOfChild == 0){
      //do sth
      printf("I am a child and my PID is %d.\n", getpid());
      exit(0);
    }
  }

没关系,如果父进程退出,则无需等待。

是的,可以这样编写。您的问题非常可疑。试着问一些更具体的问题,没有否决,但我想这就是为什么你会有否决权的原因。你有没有经验或预见到这段代码有什么具体的问题?我看不到任何。我对流程几乎没有经验,这就是为什么我想确定。这是可以的,但您需要稍后调用或其他等待的系统调用来避免。看见