【发布时间】: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