歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux下的管道編程技術

管道技術是Linux的一種基本的進程間通信技術。在本文中,我們將為讀者介紹管道技術的模型,匿名管道和命名管道技術的定義和區別,以及這兩種管道的創建方法。同時,闡述如何在應用程序和命令行中通過管道進行通信的詳細方法。

    一、管道技術模型 

    管道技術是Linux操作系統中歷來已久的一種進程間通信機制。所有的管道技術,無論是半雙工的匿名管道,還是命名管道,它們都是利用FIFO排隊模型來指揮進程間的通信。對於管道,我們可以形象地把它們當作是連接兩個實體的一個單向連接器。例如,請看下面的命令:
  

    ls -1 | wc -l 


    該命令首先創建兩個進程,一個對應於ls –1,另一個對應於wc –l。然後,把第一個進程的標准輸出設為第二個進程的標准輸入(如圖1所示)。它的作用是計算當前目錄下的文件數量。

圖1:管道示意圖 



    如上圖所示,前面的例子實際上就是在兩個命令之間建立了一根管道(有時我們也將之稱為命令的流水線操作)。第一個命令ls執行後產生的輸出作為了第二個命令wc的輸入。這是一個半雙工通信,因為通信是單向的。兩個命令之間的連接的具體工作,是由內核來完成的。下面我們將會看到,除了命令之外,應用程序也可以使用管道進行連接。

上一頁1234567下一頁查看全文 內容導航
  • 第1頁:管道技術模型
  • 第2頁:信號與消息、管道與命名管道
  • 第3頁:進程間通信管道編程
  • 第4頁:進程間通信管道編程
  • 第5頁:dup函數和dup2函數
  • 第6頁:mkfifo函數
  • 第7頁:與管道相關的系統命令
Copyright © Linux教程網 All Rights Reserved