fork() 未按顺序运行进程 [关闭]

问题描述 投票:0回答:1

这段代码的意思是fork 4次,每次创建子进程时执行hello()程序,最后结束父main()进程。

我在这里创建了所有的子进程,但是 hello() 出了问题。第一个孩子以某种方式运行 hello() 两次,而第四个根本没有。

输出:

c process fork
1个回答
1
投票

但是 hello() 出了问题。第一个孩子以某种方式运行 hello() 两次,而第四个根本没有。

没有。孩子们根本不叫

hello
。每个孩子打印
child process: 0 ->
然后退出。

第四个根本没有。

第四个和其他三个完全一样。

fork() 没有按顺序运行进程

Fork 不“运行进程”。它创造了它们。进程同时运行,而不是按顺序运行。你必须采取明确的行动让孩子们等待其他进程采取行动。

© www.soinside.com 2019 - 2024. All rights reserved.