2016-11-10 208 views
1

每當我讀到fork()產生的C子進程時,父進程等待子進程完成。但是,我面臨着另一個問題:我想生成兩個孩子,然後讓他們等到父母給他們工作。等待子進程

f.example: 在客戶端:

fork() two children

in parent, connect to a server 
server returns some work to do 
parents hands work over to children 

我怎樣才能做到這一點? 我不是要求大量的代碼,只是一些指導,也許是一些代碼來解釋。

+1

父母的管道可以通過管道與孩子通話(2) –

+1

他們需要一種方式與父母溝通。這被稱爲進程間通信(IPC)。在UNIX上,對於直接分支的chuld,這通常是一個管道。 –

+1

讓孩子從良好的舊管道或消息隊列中讀取消息,然後將其置入睡眠狀態,直至消息可用。 – PSkocik

回答

0

你想要的是父進程與子進程之間的進程間通信(IPC)。這是非常普遍的。

如果您想要與子進程進行通信,您需要使用。 Unix/C通過pipe(2)使用管道。