參考書籍:《Linux Shell核心編程指南》——丁明一
管道是進程間通信的一種方式。
分為匿名管道和命名管道
這個最常用,使用|符號就可以創建一個匿名管道。
例如:
cat /etc/hosts | grep 127.0.0.1
匿名管道僅可以實現父進程與子進程之間的數據交換,要想實現任意兩個無關的進程之間的通信,需要使用命名管道。
命名管道也叫FIFO文件,即First In First Out,先進先出,先寫入的數據被先讀出來,后寫入的數據被后讀出來。
3.1.特征
3.2.示例
mkfifo pipe_file1 #創建命名管道
mkfifo -m 600 pipe_file2 #創建命名管道,并設置權限
命名管道文件屬性的第一列為p
echo "hello" > pipe_file1 #寫阻塞
再開一個終端窗口,執行該操作,第一個終端窗口的寫阻塞會自動解除
cat pipe_file1
上面的情況反之亦然。總之就是:有寫必有讀,有讀必有寫
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态