1

如何计算我使用 fork 完成了多少进程?其中一些是在子进程中创建的,所以我不能只在退出时数数。除了退出状态之外,有没有办法传递某些变量?

4

2 回答 2

0

手册页shm_open有一个关于如何使用共享内存的例子。在每个进程中打开共享内存对象并对其进行内存映射,将其用作int指针并在所有进程中增加它。

为了帮助解决竞争条件,您可以使用POSIX 信号量

于 2013-01-29T07:27:32.527 回答
0

您可以自己使用全局变量,只需在每个带有条件的分叉后添加 1

if((pid = fork()) >= 0)

具有保护变量之类的机制mutex

于 2013-01-29T08:57:45.193 回答