執行結果:// 多程序以及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.outrun 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 硬體異常產生訊號 除數為零,無效的儲存訪問等等。這些訊號通常有硬體檢測得到,將其通知核心,然後核心產生適當的訊號通知程序,例如 核心對正在訪問乙個無效儲存區的程序產生...