1

我对同一进程父亲的子进程之间的通信有疑问。

  • 一个父进程创建 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(对的兄弟)。

4

1 回答 1

0

With real time signals you can send a value. So when the process i send a signal SIGRTMIN to his left brother he can send his pid ,)

Hope it will help you.

于 2014-05-15T09:16:54.190 回答