Linux應用程式開 程序管理(實驗)

2021-10-04 17:52:17 字數 615 閱讀 3607

要求:編寫程式實現程序的管道通訊。使用系統呼叫pipe()建立乙個管道,二個子程序p1和p2分別向管道各寫一句話:

child 1 is sending a message!

child 2 is sending a message!

父程序從管道中讀出二個來自子程序的資訊並顯示(要求先接收p1,再接收p2)。

初步理解:和以前的乙個父程序建立兩個子程序類似,這裡只新增了乙個先接收子程序1,再接收子程序2的要求,我們只需要在父程序裡阻塞,等待子程序1執行完畢,然後再建立子程序2,再在父程序裡阻塞,等待子程序2建立完成,這樣就實現了先接受子程序1再接收子程序2的需求。

**:

#include

#include

#include

#include

#include

#include

void

main()

pid =

fork()

;if(pid<0)

if(pid ==0)

else

if(pid ==0)

else

}}

謝謝大家的**,如有錯誤請指正,謝謝!csdn記錄成長!

Linux應用程式設計 程序通訊

通訊方式有管道pipe,訊號 一 pipe 管道分兩種無名管道,有名管道。1 無名管道 父程序和子程序可通過無名管道傳輸資料,管道有兩個口,一端寫一端讀,半雙工通訊。可以當作檔案進行操作,所以建立的管道會有兩個檔案描述符fds 0 和fds 1 fds 0 用於讀,fds 1 用於寫,關係如圖。實驗...

執行緒 應用程式域 程序

程序是個管理單元,管理著應用程式的多個執行緒,其中有個預設的主線程,其他執行緒都是從其他執行緒中派生出來的。執行緒一旦被建立,主線程是無法干涉它的。執行緒的銷毀在.net中是通過丟擲乙個異常,來終止這個執行緒的。在.net出現以前,乙個程序下,只能執行乙個應用程式,而在,net出現後,乙個程序下,可...

Linux應用程式設計之程序程式設計

程序同步 一組併發的程序按照一定的順序執行的過程稱為程序間的同步。獲取id include pid t getpid void 獲取本程序id pid t getppid void 在子程序中獲取父程序id 程序建立 include pid t fork void fork 的奇妙之處在於它被呼叫一...