歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux IPC通訊之-管道(PIPE、FIFO)

Linux IPC通訊之-管道(PIPE、FIFO)

日期:2017/3/1 15:28:23   编辑:關於Linux
Linux IPC通訊之-管道(PIPE、FIFO) 本篇文章將對Linux IPC通訊進行總結,也是自己對IPC認識的總結。本次主要介紹管道與有名管道。 管道(PIPE、FIFO): 1、使用場合:Linux IPC 通訊方式比較老的一種方式,比較適合數據量較小的通訊方式, 常用於控制命令。 ulimit -a 可以看到 pipe size (512 bytes, -p) 8 4k 2、特點:半雙工方式,如cmd process A->process B ACK process B->process A 3、有名管道與無名管道的區別: 無名管道適用於具有親緣關系的進程間通訊。 有名管道可以在任意進程間通訊,通過管道文件。 4、管道使用步驟 有名管道: (1)mkfifo 創建管道文件 (2)open 打開管道文件,設置屬性,一般寫阻塞,讀非阻塞 (3)read (4)write 無名管道: (1)pipe (2)設置阻塞、非阻塞屬性 (3)pipe[0] for read pipe[1] for write 5、注意事項: (1)SIGPIPE 如果管道通訊一方已關閉fd,而本方要在寫第一次報出此種信號,第二次段錯誤退出,要對此信號進行處理 (2)半雙工方式 6、特殊用法: 線程間通訊:適合於傳地址如大數據量的buf地址
Copyright © Linux教程網 All Rights Reserved