mkfifo根本不能与Cygwin一起工作吗?一组简单的命令,例如
$ mkfifo my_pipe
$ echo "1234" > my_pipe只会导致终端永远处于光标闪烁状态。我是不是“做错了”?
发布于 2012-10-01 12:46:56
不,这两个命令中的任何一个都没有做错任何事情,只是您的期望有点不对劲。
您缺少的是在管道的另一端读取数据的东西。这种明显的挂起现象在Linux中也会发生,所以这不是一个CygWin问题(或者任何类型的问题,真的)。
只需打开另一个窗口并输入:
cat <my_pipe您将看到数据出现,然后是原始的echo完成。
发布于 2012-10-01 12:48:44
命名管道的问题是你需要在两端都有一些东西。如果管道尚未完成,则不能将其写入管道,因此echo命令将挂起,直到其他程序尝试从该管道读取数据,在本例中,这种情况永远不会发生。
https://stackoverflow.com/questions/12667621
复制相似问题