我有这个问题要解决,我不知道该怎么做,因为只有几个系统调用我们可以用来解决它,而且我看不出它们对这种情况有什么帮助。
练习:
我有一个大小为 [10][1000000] 的矩阵,其中包含整数,并且对于每一行,我使用 fork() 创建一个新进程。每个过程的想法是遍历该特定行的所有数字并找到一个特定数字,然后打印有关它的消息。这是问题的第一步,并且已经完成。第二步是按顺序打印每行中该数字的出现总数。最后,该数字出现的总数。
调用:
我可以使用的系统调用在本练习的文档中是这样描述的:
pid_t fork(void);
void exit(int status);
pid_t wait(int *status);
pid_t waitpid(pid_t pid, int *status, int options);
问题:
我不知道该怎么做,因为exit()
调用只允许我传递一个低于 256 的数字,如果出现的次数大于这个数字怎么办?我该如何返回这样的号码?
另一个问题:
我不完全理解两者之间的区别wait()
以及waitpid()
如何/在哪里使用另一个。除了手册页之外,是否还有更多文档可以让我查看代码示例等以便更好地理解它们?或者有人可以向我解释这些差异并提供一个证明这种差异的基本示例吗?