如何在 C 中使用 fork() 和 execvp() 创建多个有序进程?
我正在尝试使用 fork() 和 execvp() 调用创建多个进程,但到目前为止我还没有成功。这就是我想要做的:
进程 A、B、C 应该同时运行。当它们完成后,进程 D 应该运行。完成后,进程 E 和 F 应该运行。
我可以通过传递程序名称及其参数来成功调用 execvp(),但我不知道应该调用 fork() 多少次以及在哪里调用。我也知道如何调用 wait(),但我再次不确定应该在哪里调用它。
我该怎么做?
I am trying to create multiple processes using fork() and execvp() calls, but so far I've been unsuccessful. Here is what I am trying to do:
Processes A, B, C should run at the same time. When they are finished, process D should run. When it is done, processes E and F should run.
I can call execvp() successfully by passing the program name and its arguments, but I don't know how many times I should call fork() and where. I also know how to call wait(), but again I am not sure where it should be called.
How would I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我将通过以下方式处理此问题:
I would approach this in the following manner: