BASH 命名管道锁定

Posted

技术标签:

【中文标题】BASH 命名管道锁定【英文标题】:BASH named pipe locking up 【发布时间】:2010-11-07 01:26:47 【问题描述】:

我不明白为什么会这样。我已经使用相同的命令很长时间了,现在,突然,它开始锁定。

mkfifo ./pipe
echo "test" >./pipe

我能做些什么来阻止它锁定?

【问题讨论】:

【参考方案1】:

从 FIFO 中读取。

【讨论】:

哦,没错……谢谢。我不知道我在想什么。我需要回应 woot>./woot &【参考方案2】:

它没有被锁定。它正在等待从管道中读取某些内容。执行

cat < ./pipe

在另一个窗口中,它会打印出您放入管道的test 字符串,然后您的echo 将退出。

【讨论】:

【参考方案3】:

我也遇到了同样的问题,同样的……呵呵……思维错误……

我在这里解决了我的问题,并发现了An excellent article about named pipes 我想与所有想要“正确”使用命名派的人分享。

别忘了阅读 cmets ;)

享受吧!

【讨论】:

以上是关于BASH 命名管道锁定的主要内容,如果未能解决你的问题,请参考以下文章

在 bash 中打开命名管道,而不读取或写入它

命名管道不会等到在 bash 中完成

处理命名管道时,fish shell 和 bash 有啥区别?

sh 等效于从命名管道读取的 bash 命令

Bash 重定向:命名管道和 EOF

Bash 将 stdio 重定向到命名管道