1. 命名管道
建立命名管道建立方式:
函式:mkfifo(「my.p」,0644)
命令:mkfifo my.p
命名管道作用:在核心中建一塊緩衝區,並命名,使得2個沒有親緣關係的程序能夠實現通訊,通過
open
這塊緩衝區往裡面寫東西,讀東西。一旦這
2個程序能夠找到了這塊共有的緩衝區,可以刪除
my.p
這個檔案,刪除之後並不影響
2個程序的通訊。
需要注意的是:當只有程序往這塊快取寫東西時(即沒有讀程序),那麼寫程序就處於阻塞狀態,反之也一樣;因此,命名管道必須是2個程序乙個寫乙個讀,在
linux
下,我們可以使用兩個終端來觀測。
2. 案例。本案例有3個原始檔分別是:(
1)建立命名管道(
2)寫內容到管道裡(
3)從管道讀取東西。
(1)建立命名管道:
1 #include 2 #include 3 #include 4
5 int main()
6
(2)寫管道
1 #include 2 #include 3 #include 4 #include 5 int main()
6 13
14 int i=0;
15 while(1)
16
22 return 0;
23 }
(3)讀管道
2 #include 3 #include 4 #include 5 #include 6
7 int main()
8 15
16 int i=0;
17 while(1)
18
23 return 0;
24 }
linux的管道和命名管道
看了個教程,感覺還是要結合 看。管道是linux裡面程序間通訊的一種方式,其他的還有像訊號 signal 訊號量 訊息佇列 共享記憶體 套接字 socket 等。1.管道pipe int pipe int fd 2 返回值 成功,返回0,否則返回 1。引數陣列包含pipe使用的兩個檔案的描述符。fd...
命名管道的使用
我在工作中碰到了乙個這樣的問題,有兩個程式,第乙個程式會fork乙個程序exec呼叫第二個程式,這樣呼叫後,第乙個程式還是繼續執行父程序的。我要求第乙個程式的父程序停止執行,直到第二個程式退出或執行到某個時候才繼續執行。下面是兩個例子程式的 先執行gui程式,再執行player程式 gui 在後台執...
機器學習小案例篇 關於RFM模型的小案例
import pandas as pdin 75 trad flow pd.read csv d python script rfm trad flow.csv encoding gbk 編碼格式需要進行修改 trad flow.head 預設前五行out 75 transid cumid time...