【问题标题】:Communication between child processes in C POSIXC POSIX 中子进程之间的通信
【发布时间】:2014-05-15 09:03:34
【问题描述】:

我在同一进程父亲的子进程之间的通信方面遇到问题。

  • 一个父进程创建 N 个子进程。
  • 每个子进程都有一个 ID。
  • 第一个孩子的ID是N,第二个是(N-1),...最后一个是(1):

进程只有在收到来自 SIGRTMIN 的信号后才能继续工作 过程 j= i-1(左兄弟)。

只有在收到来自进程 j = i+1 的信号 SIGRTMIN+1 后,进程 i 才能完成(右兄弟)。

父进程只有在其所有子进程都完成后才能完成。

问题是: 不使用 IPC(消息队列、共享内存、信号量)或 IO(套接字、管、管道、文件),进程如何知道进程 id左兄弟和右兄弟的进程ID。

For the question of brother left, 我使用了一个进程 ID 数组。更清楚一点,在父进程中,一个数组会保存它创建的每个子进程的进程id,当进程创建时,它知道进程i-1的进程id(进程ID = N-i+1)。 em>

但我不知道如何获取进程 i+1 的进程 ID(对的兄弟)。

【问题讨论】:

    标签: c process posix communication identify


    【解决方案1】:

    使用实时信号,您可以发送一个值。因此,当我向他的左兄弟发送信号 SIGRTMIN 时,他可以发送他的 pid ,)

    希望对你有所帮助。

    【讨论】:

    • 感谢您的回复,我想我可以找到答案了:D
    猜你喜欢
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 2018-09-16
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多