这段代码的意思是fork 4次,每次创建子进程时执行hello()程序,最后结束父main()进程。
我在这里创建了所有的子进程,但是 hello() 出了问题。第一个孩子以某种方式运行 hello() 两次,而第四个根本没有。
输出:
但是 hello() 出了问题。第一个孩子以某种方式运行 hello() 两次,而第四个根本没有。
没有。孩子们根本不叫
hello
。每个孩子打印 child process: 0 ->
然后退出。
第四个根本没有。
第四个和其他三个完全一样。
fork() 没有按顺序运行进程
Fork 不“运行进程”。它创造了它们。进程同时运行,而不是按顺序运行。你必须采取明确的行动让孩子们等待其他进程采取行动。