【问题标题】:Waiting children processes等待子进程
【发布时间】:2016-11-10 20:19:58
【问题描述】:

每当我读到由 fork() 生成的 C 中的子进程时,父进程都会等待子进程完成。但是,我面临另一个问题: 我想生两个孩子,然后让他们等到父母给他们工作要做。

f. 示例: 在客户端:

fork() two children

in parent, connect to a server
server returns some work to do
parents hands work over to children

我怎样才能做到这一点? 我不是要一大块代码,只是一些指导,也许还有一些代码来解释。

【问题讨论】:

  • 父管道可以通过管道(2)与子管道通信
  • 他们需要一种与父母沟通的方式。这称为进程间通信 (IPC)。在 UNIX 上,对于直接分叉的 chuld,这通常是一个管道。
  • 让孩子从一个好的旧管道或消息队列中读取消息,然后让它进入睡眠状态,直到有消息可用。
  • 谢谢你们!能不能给个答案,让我接受?

标签: c process ipc


【解决方案1】:

您想要的是父进程和子进程之间的进程间通信 (IPC)。这非常常见。

如果您想与子进程通信,您需要使用pipe。 Unix/C 通过pipe(2) 使用管道。

【讨论】:

    猜你喜欢
    • 2014-11-08
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多