首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mkfifo导致终端挂起?

mkfifo导致终端挂起?
EN

Stack Overflow用户
提问于 2012-10-01 12:44:50
回答 2查看 1.8K关注 0票数 2

mkfifo根本不能与Cygwin一起工作吗?一组简单的命令,例如

代码语言:javascript
复制
$ mkfifo my_pipe

$ echo "1234" > my_pipe

只会导致终端永远处于光标闪烁状态。我是不是“做错了”?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-01 12:46:56

不,这两个命令中的任何一个都没有做错任何事情,只是您的期望有点不对劲。

您缺少的是在管道的另一端读取数据的东西。这种明显的挂起现象在Linux中也会发生,所以这不是一个CygWin问题(或者任何类型的问题,真的)。

只需打开另一个窗口并输入:

代码语言:javascript
复制
cat <my_pipe

您将看到数据出现,然后是原始的echo完成。

票数 4
EN

Stack Overflow用户

发布于 2012-10-01 12:48:44

命名管道的问题是你需要在两端都有一些东西。如果管道尚未完成,则不能将其写入管道,因此echo命令将挂起,直到其他程序尝试从该管道读取数据,在本例中,这种情况永远不会发生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12667621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档