Linux C程序間通訊之pipe

2021-09-21 14:17:06 字數 737 閱讀 1394

// 多程序以及ipc管道方式程序間通訊

/*1、父程序呼叫pipe開闢管道,得到兩個檔案描述符指向管道的兩端。

2、父程序呼叫fork建立子程序,那麼子程序也有兩個檔案描述符指向同一管道。

3、父程序關閉管道讀端,子程序關閉管道寫端。父程序可以往管道裡寫,子程序可以從管道裡讀,管道是用環形佇列實現的,資料從寫端流入從讀端流出,這樣就實現了程序間通

*/#include #include #include #include #include #define max_line 256 // 讀資料最大長度

int main(void)

pid_t pid = fork(); // 建立子程序

if (pid < 0)

if (pid == 0) else

return 0;

}

執行結果:

root@desktop-l8ao2mp:/mnt/g/c/test/process# ./a.out

run at process id: 962!

child process 963 send to parent: hello father, im your son!

parent process 962 read from 963: hello father, im your son!

linux C 程序間通訊 訊息佇列

linux 引入訊息佇列的原因是,實現對緊急事件的處理。可以為訊息設定優先順序 下面是乙個共享訊息佇列的例子,在linux2.6的核心中能夠執行,通過訊息佇列實現程序間的通訊,可以自己選擇優先順序,本列優先順序設定為子程序自己的pid.2.6中能夠執行,include include include...

Linux C 程序間的訊號通訊

1 訊號通訊 核心中存在64種訊號,即linux 核心可以傳送64種訊號,命令 kill l 可以檢視 a 訊號的傳送 kill raise alarm kill pid t pid,int sig raise int sig 等價於 kill getpid int sig 即發給自己 附 終止程序...

linux c開發(5 3)程序間通訊 訊號通訊

訊號 signal 機制是unix系統中最為古老的程序間通訊機制,有很多條件可以產生乙個訊號 1 當使用者按某些按鍵時,產生訊號。2 硬體異常產生訊號 除數為零,無效的儲存訪問等等。這些訊號通常有硬體檢測得到,將其通知核心,然後核心產生適當的訊號通知程序,例如 核心對正在訪問乙個無效儲存區的程序產生...