mkfifo
根本不适用于Cygwin吗?一组简单的命令,例如
$ mkfifo my_pipe
$ echo "1234" > my_pipe
只是让终端在光标闪烁的情况下永远坐着。我做错了吗?#34;
答案 0 :(得分:3)
不,你对这些命令的 没有任何错误,只是你的期望有些偏差。
您丢失的内容是该管道的另一端,读取该数据。这种明显的悬挂也发生在Linux中,所以它不是CygWin问题(或任何类型的问题,真的)。
打开另一个窗口并输入:
cat <my_pipe
您将看到数据显示,然后是原始echo
完成。
答案 1 :(得分:0)
命名管道的东西是你需要在两端都有东西。如果管道尚未完成,则无法写入管道,因此echo
命令将挂起,直到其他东西尝试从该管道读取,在您的情况下永远不会发生。