fork 3 个子进程,每个进程运行单独的进程
我见过的大多数例子都只打印“我是一个患有PID的孩子”。我正在尝试分叉 3 个子进程,每个子进程运行 3 个不同的进程。每个子程序都是独立的 C 程序。因此,我需要在 fork() 之后使用 exec() 调用它们,但我的问题在于语法以及如何引用每个子进程,因为所有子进程的 pid =0。
Most of the examples I have seen only Print "I am a child with PID" . I am trying to fork 3 children, each child running 3 different processes. each of the children are separate C programs. Hence, I need to call them using exec() after fork() but my problem is in the syntax and how to reference each child because all child processes have pid =0.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
getmypid()
获取子进程中的 pid。 fork 调用在子进程中返回 0:请注意,这在 PHP 中是这样,但基本机制在几乎所有执行 fork() 的语言中都保持相同。
followup:
这是您启动 3 个应用程序的方式。当父脚本调用 fork() 时,每个子进程都会得到不同的 $i,因此您可以通过 $i 的值确定您属于哪个子进程。
Use
getmypid()
to get the pids in the children. The fork call returns 0 in the child processes:Note that this in PHP, but the basic mechanics remain the same in pretty much any language that does fork().
followup:
Is how you'd start up your 3 apps. At the moment the parent script calls fork(), each child will end up with a different $i, so you can determine which child you're in by the value of $i.