C POSIX中子进程之间的通信

时间:2014-05-15 09:03:34

标签: c process posix communication identify

我对同一进程父进程的子进程之间的通信存在问题。

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

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

     

过程只有在从过程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。

1 个答案:

答案 0 :(得分:0)

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

希望它会对你有所帮助。