第15章 進程間通行 15.5 FIFO

(1)什麼是命名管道,未命名管道?
shell

未命名管道:只能在兩個相關的進程之間使用,並且這兩個相關的進程還要有一個共同的建立了它們的主先進程。服務器

命名管道:FIFO,不相關的進程也能交換數據。函數

(2)FIFO是一種文件類型。spa

建立FIFO相似於建立文件,且FIFO的路徑名存在與文件系統中。命令行

(3)進程

函數mkfifo,mkfifoat建立FIFO,用open打開它(O_NONBLOCK非阻塞標誌的影響)。程序

應用程序能夠用mknod和mknodat函數建立FIFO。命名

(4)FIFO有兩種用途。數據

1)複製一系列shell命令中的輸出流。好比須要對一個通過過濾的輸入流進行兩次(單獨)處理。文件

(經過tee程序實現:此程序將其標準輸入同時複製到其標準輸出以及其命令行中命名的文件中)

2)使用FIFO進行客戶進程-服務器進程通行。

相關文章
相關標籤/搜索