我对同一进程父亲的子进程之间的通信有疑问。
- 一个父进程创建 N 个子进程。
- 每个子进程都有一个 ID。
- 第一个孩子的 ID 是 N,第二个是 (N-1),... 最后一个是 (1):
进程 i 只有在收到来自进程 j= i-1(左兄弟)的信号 SIGRTMIN 后才能继续工作。
进程 i 只有在收到来自进程 j = i+1 >(右兄弟)的信号 SIGRTMIN+1 后才能完成。
父进程只有在其所有子进程都完成后才能完成。
问题是: 在不使用 IPC(消息队列、共享内存、信号量)或 IO(套接字、管、管道、文件)的情况下,进程如何知道左兄弟的进程 id 和右兄弟的进程 id。
For the question of brother left,
我使用一组进程 ID。更明确地说,在父进程中,一个数组会保存它创建的每个子进程的进程id,当进程创建时,它知道进程i-1的进程id(进程ID = N-i+1)。
但我不知道如何获取进程 i+1 的进程 id(对的兄弟)。