这些fork()调用创建了多少个进程?

时间:2019-05-18 16:46:14

标签: c fork

如何查看已创建了多少个进程?我可以使用getpid()函数吗?

int main(int argc, char *argv[])
{
    int pid1, pid2, pid3, pid4;
    pid1 = fork();

    if (pid1 != 0) {
      pid2 = fork();
      pid3 = fork();
    } 
    else {
      pid4 = fork();
    }

    return 0;
}

1 个答案:

答案 0 :(得分:0)

fork() for pid1:创建了一个子进程。

进程数= 2

fork() for pid2:创建了一个子进程。

进程数= 3

fork() for pid3:创建了两个子进程,一个由原始进程创建,一个由进程pid2创建。

进程数= 5

fork() for pid4:创建了一个子进程。

进程数= 6