Linux高级命令——mkfifo的使用

MKFIFO
Section: User Commands (1)
Updated: 1998年11月
Index Return to Main Contents  
NAME(名称)
mkfifo - 建立FIFO(命名管道)  
SYNOPSIS(总览)
mkfifo [options] file...

POSIX options(选项): [-m mode]

GNU options(选项)(最短格式): [-m mode] [--help] [--version] [--]  
DESCRIPTION(描述)
mkfifo 使用指定的文件名建立FIFO(也称为"命名管道").

"FIFO"是一种特殊的文件类型,它容许独立的进程通信. 一个进程打开FIFO文件进行写操做,而另外一个进程对之进行读操做, 而后数据即可以如同在shell或者其它地方常见的的匿名管道同样流线执行.

默认状况下,建立的FIFO的模式为0666('a+rw')减去umask中设置的位.  
OPTIONS(选项)

-m mode, --mode=mode
    设置建立的FIFO的模式为 mode, 这能够是 chmod(1) 中的符号模式,并使用默认模式做为起始点.

 
GNU STANDARD OPTIONS(GNU标准选项)

--help
    在标准输出上打印一条用法信息,并以成功状态退出.
--version
    在标准输出上打印版本信息,而后以成功状态退出.
--
    终止选项列表.
   
下面经过例子来讲明该命令的用法:
建立一fifo
[root@localhost ~]# mkfifo -m 777  myfifo
将cat命令的输出做为此myfifo的输入,并放在后太运行
[root@localhost ~]# cat /etc/passwd > myfifo &
[10] 6285
再用cut命令从该myfifo中读出数据进行处理
[root@localhost ~]# cut -d: -f1-3 < myfifo
root:x:0
bin:x:1
daemon:x:2
adm:x:3
lp:x:4
sync:x:5
shutdown:x:6
halt:x:7
mail:x:8
news:x:9
uucp:x:10
operator:x:11
games:x:12
gopher:x:13
ftp:x:14
nobody:x:99
rpm:x:37
vcsa:x:69
apache:x:48
mailnull:x:47
smmsp:x:51
rpc:x:32
distcache:x:94
ntp:x:38
nscd:x:28
mysql:x:27
webalizer:x:67
squid:x:23
tcpdump:x:72
dbus:x:81
avahi:x:70
hsqldb:x:96
torrent:x:499
sshd:x:74
rpcuser:x:29
nfsnobody:x:65534
haldaemon:x:68
xfs:x:43
gdm:x:42
zieckey:x:500
[10]   Done                    cat /etc/passwd > myfifo
[root@localhost ~]#mysql