请有人解释一下,B行的循环(等待())的目的是什么?

时间:2018-05-03 07:02:00

标签: fork wait

B行是什么意思?我要求这个过程10次, 显示进程ID,然后调用wait() 10次。

#include <stdio.h>
#include <unistd.h>

// Fork the process 10 times
for(i = 0; i < 10; i++) {

  // Catch the PID
  if (pid = fork() < 0)
    // error
  else if (pid == 0) {

  function_A();

  return 0;
}

  printf(“process ID: %d \n”, pid); // Line A

}

for(i = 0; i < 10; i++) //Line B

wait();

1 个答案:

答案 0 :(得分:0)

fork()异步启动子进程。意思是,他们开始,然后被抛到后台。

wait()告诉计算机“等待”它们结束。

因此,它告诉父进程在继续执行之前等待子进程结束。

https://www.geeksforgeeks.org/wait-system-call-c/