计算用fork做的进程

时间:2013-01-29 07:06:27

标签: c fork

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

你可以自己使用一个全局变量,只需在每个带条件

的叉子后加1

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

使用保护变量的机制,如mutex