int main(int argc, char** argv) {
int i = 0;
while (i < 2) {
fork();
system("ps -o pid,ppid,comm,stat");
i++;
}
return (EXIT_SUCCESS);
}
Run Code Online (Sandbox Code Playgroud)
谁能告诉我ps命令执行了多少次?
我相信答案是6.
在第一次迭代中,fork()调用,将进程拆分为2,从而调用ps两次.
在第二次迭代中,在每个进程中再次调用fork,因此现在有4个进程运行ps.
对ps的总调用:2 + 4 = 6.