簡體   English   中英

多個fork()。 主要如何知道pid?

[英]Multiple fork()'s. How does main know pid?

我正在編寫一個C語言程序,該程序創建#個孩子,讓他們執行一項任務,並將結果報告給主要對象。 寫入管道后,他們必須等待另一個請求。

我在使用管道的一個方向上進行了通信,但是我無法知道數據從何而來(或者更好地是從誰那里來的)。

如果無法知道哪個孩子在管道上寫了,是否有任何方法可以知道孩子在父母中的PID?

編輯我有一個包含所有子代PID的數組,但是在讀取管道時,我無法知道數據來自何處。

謝謝!

為每個孩子創建一個管道,然后使用selectpoll收聽所有孩子。

就像Zack所說的那樣(每個孩子一個管道),或者更改協議,使孩子報告其pid作為消息的一部分。

fork()將子進程的pid返回父進程,將0返回給子進程,您可以將它們存儲在數組或鏈接列表中以跟蹤它們

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM