1
我已经分了一个进程n次有n个孩子。分叉后,在某个时候,我需要在每个子进程中生成一个随机数,所以我写了一个声明来这样做。但在继续之前,我希望看到每个孩子在终端上生成的随机数。当我写printf()时,我只得到一个输出,我相信它是父代产生的随机数。有人可以帮助我如何让所有子进程打印变量rnd_number在其地址空间中保存的值吗?打印每个子进程生成的值c
此外,由于每个孩子都会执行声明,要求他们打印他们的rnd_number值,所以我不知道是什么让他们不能在终端上打印。如果我混合了一些概念,我请求有人帮助我。
感谢您的回复。但是,我需要这样做: 'for(i = 0; i
user4102404
2014-10-09 04:16:47
您可以使用waitpid();并在每个放置在阵列上的pid上循环。这帮助你吗? – Mekap 2014-10-10 05:33:04
不幸的是,它并没有帮助。即使我等待孩子们的pid,printf似乎也不会在控制台上输出数据。为了确保缓冲区被刷新,我也使用了fflush()。 printf最终打印变量的本地值,而不是由子进程计算的值。 – user4102404 2014-10-10 08:43:44