发布网友 发布时间:2022-04-21 23:37
共3个回答
热心网友 时间:2023-11-16 16:28
每条线代表一个进程的生命时间(执行流程),这里一共有8条线所以……
之前那张图和这里有个地方不一样,因为之前那一题是计算输出的hello的个数,然后你要注意之前那题里面并不是每个进程输出一个printf……最顶端的进程(就是最初启动的)会输出四个hello的。看这张图就明白:最顶端下来的线一共执行了三次fork,而其他的线,有的执行了两次有的执行了一次还有的没执行……
热心网友 时间:2023-11-16 16:29
这会派生出三个进程,如果包括自身,一共是四个进程。
我回答的是错的,楼下回答是正确的。进程的个数是2^N个,N是调用fork的次数。
热心网友 时间:2023-11-16 16:29
原进程a
第一次fork后变成a 和 b
a和b都继续运行,遇到第二次fork
a变成a和c
b变成b和d
abcd都继续运行,遇到第三次fork
a变成a和a1
b变成b和b1
c变成c和ca
d变成d和d1
所以最多会有八个进程