學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

linux創(chuàng)建管道命令

時(shí)間: 佳洲1085 分享

  FIFO管道是一種文件類型,在Linux上創(chuàng)建FIFO非常容易。那么具體使用到哪個(gè)命令呢?下面由學(xué)習(xí)啦小編為大家整理了linux創(chuàng)建管道的相關(guān)方法,希望對(duì)大家有幫助!

  一、FIFO管道說(shuō)明

  FIFO,又稱作命名管道(named pipe),它是Linux系統(tǒng)中用于進(jìn)程間通信的一種方法。

  FIFO和pipe的區(qū)別在于:

  FIFO在文件系統(tǒng)中有對(duì)應(yīng)的inode,可以通過(guò)ls命令查看。

  sh-3.2# ls -lhF 。/fifo_file

  100 prwxrwxrwx 1 root root 0 Jan 1 1970 。/fifo_file|

  sh-3.2#

  正因?yàn)樗幸粋€(gè)名字,所以任何進(jìn)程都可以訪問(wèn)它,所以FIFO可用于任意兩個(gè)進(jìn)程之間的通信。

  pipe沒(méi)有名字,在現(xiàn)有文件系統(tǒng)中無(wú)法查看到它的存在。

  它只能用于父子進(jìn)程、兄弟進(jìn)程等具有血緣關(guān)系的進(jìn)程間通信。

  二、創(chuàng)建FIFO的方法如下

  1. 調(diào)用umask系統(tǒng)調(diào)用來(lái)設(shè)定創(chuàng)建文件的權(quán)限,

  #include 《sys/types.h》

  #include 《sys/stat/h》

  mode_t umask(mode_t mask);

  2. 調(diào)用unlink系統(tǒng)調(diào)用先刪除已經(jīng)存在的fifo,

  #include 《unistd.h》

  int unlink(const char *pathname);

  3. 調(diào)用mkfifo庫(kù)函數(shù)去創(chuàng)建一個(gè)FIFO文件,

  #include 《sys/types.h》

  #include 《sys/stat.h》

  int mkfifo(const char *pathname, mode_t mode);

  或者可以通過(guò)調(diào)用mknod系統(tǒng)調(diào)用并且指定參數(shù)mode為S_IFIFO也可以創(chuàng)建一個(gè)FIFO文件,

  #include 《sys/types.h》

  #include 《sys/stat.h》

  #include 《fcntl.h》

  #include 《unistd.h》

  int mknod(const char *pathname, mode_t mode, dev_t dev);

  三、注意事項(xiàng)

  1. 使用FIFO進(jìn)行通信,每次傳輸?shù)臄?shù)據(jù)要限定在PIPE_BUF之內(nèi);

  2. 對(duì)于FIFO的訪問(wèn)就像訪問(wèn)正規(guī)文件(regular file)一樣,可以使用open/read/write/close等系統(tǒng)調(diào)用進(jìn)行訪問(wèn)。

  使用FIFO的應(yīng)用有:

  1. 單純的生產(chǎn)者/消費(fèi)者問(wèn)題,一個(gè)進(jìn)程讀數(shù)據(jù),一個(gè)進(jìn)程寫(xiě)數(shù)據(jù);

  2. 實(shí)現(xiàn)client/server架構(gòu)的程序,客戶端和服務(wù)器端通過(guò)FIFO進(jìn)行通信。

  上面就是Linux創(chuàng)建FIFO管道的方法介紹了,本文除了介紹了FIFO管道的創(chuàng)建外,還稍微介紹了下FIFO的使用及其注意事項(xiàng),在使用的時(shí)候需特別注意。

linux創(chuàng)建管道命令

FIFO管道是一種文件類型,在Linux上創(chuàng)建FIFO非常容易。那么具體使用到哪個(gè)命令呢?下面由學(xué)習(xí)啦小編為大家整理了linux創(chuàng)建管道的相關(guān)方法,希望對(duì)大家有幫助! 一、FIFO管道說(shuō)明 FIFO,又稱作命名管道(named pipe),它是Linux系統(tǒng)中用于進(jìn)
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

精選文章

  • linux創(chuàng)建文件命令
    linux創(chuàng)建文件命令

    linux系統(tǒng)下可以通過(guò)命令來(lái)創(chuàng)建新的文件。那么具體使用到哪個(gè)命令呢?下面由學(xué)習(xí)啦小編為大家整理了linux創(chuàng)建文件的相關(guān)命令,希望對(duì)大家有幫助! 一、

  • linux撤銷cp命令的提示
    linux撤銷cp命令的提示

    在linux系統(tǒng)下,cp命令其實(shí)就是復(fù)制文件或目錄的命令。那怎么取消cp命令的覆蓋提示呢?下面由學(xué)習(xí)啦小編為大家整理了linux撤銷cp命令提示的方法,希望對(duì)

  • linux常用命令10條
    linux常用命令10條

    對(duì)于linux初學(xué)者來(lái)說(shuō),熟悉掌握命令是最快進(jìn)步的方法之一,下面由學(xué)習(xí)啦小編為大家整理了linux最常用的十條命令,希望對(duì)大家有所幫助。 linux最常用的十

  • linux常用命令之grep命令
    linux常用命令之grep命令

    在linux系統(tǒng)下,掌握一些命令可以很大的提高我們的工作效率。下面由學(xué)習(xí)啦小編為大家整理了linux常見(jiàn)命令之grep命令,希望對(duì)大家有幫助! 1、linux常用命令

3591443