Linux匿名管道-CSDN博客
目錄
1.原理
2.接口實現
3.模擬日志
Linux匿名管道-CSDN博客
這上面叫的是匿名管道,不要將兩者搞混,匿名管道說的是兩個有血緣關系的進程相互通信,但是命名管道就是兩個沒有關系的管道相互通信。
1.原理
和匿名管道的原理差不多,都是讓兩個進程看到同一份內存,然后進行通信,同時依舊也是單向性的通信。下面這張圖是和匿名管道一樣的抽象圖,不是真正的原理圖。但是實際原理是這樣的,方便大家理解。但看那個文件緩沖和磁盤之間會刷新數據嘛?你想想,進程1發生發送數據,寫給磁盤,進程2讀取數據,從磁盤中獲取。這中間是不是有點多余了!所以我們就直接不用在磁盤刷盤!因此是內存級文件!
2.接口實現
關閉命名通道接口:
Makefile
comm.hpp文件
server.cc
client.cc
運行結果
3.模擬日志
日志一般包括:日志時間,日志的等級,日志內容,文件名稱和行號。
其中日志等級:Info:常規消息,Warning:報警信號,Error:必要嚴重了,可能需要立即處理
Fatal:致命的,Debug:調試。
下面兩張圖,中的localtime函數便可以獲得日志時間!
多參數列表:
log.hpp
server.cc
運行結果