Questions tagged «fifo»

有关FIFO的问题-先进先出特殊文件,也称为命名管道

1
为什么文件到命名管道之间的重定向不起作用,而管道到cat却起作用?
这是使用nc的Unix中的简单回显服务器: mkfifo fifo cat fifo | nc -k -l 4458 -v | cat >fifo (基于此) 如我所见,数据流的工作方式如下: fifo (my named pipe) | | (using cat) | v nc | | (using cat) | v fifo 这里是一个问题:为什么这不起作用? nc -k -l 4458 -v >fifo <fifo 你会发现,如果试图telnet以localhost对4458,你会得到一个“连接被拒绝”的错误。
8 pipe  socket  fifo 

1
这四个命令(fifo,进程替换,重定向...)之间有什么区别?
我的目标是使用nc和创建一个简单的echo服务器fifo。我并不是在寻找最好的方法,我只是想了解以下命令的语义(何时发生派生,为什么,它发生了什么变化,为什么命令表现不同...)。 我使用bash,所以我不知道如果所有的命令都将使用POSIX工作sh或zsh,ksh... 这是我在标题中提到的四个命令(假设我已经做过mkfifo fifo): cat fifo | nc -l localhost 8888 > fifo exec 3<> fifo && nc -l localhost 8888 <&3 >&3 && exec 3>&- nc -l localhost 8888 <(cat fifo) > fifo nc -l localhost 8888 < fifo > fifo 现在,我希望这4个命令可以执行相同的操作,至少最后两个命令可以执行相同的操作。 第一个命令的行为符合预期,一个简单的回显服务器在客户端关闭连接时将关闭。 行为像1。 我可以连接到服务器,发送数据,但是我什么也收不到。当我关闭客户端连接时,服务器关闭。 无法连接到服务器,服务器将永远监听。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.