mkfifo
単にCygwinで動作しませんか?次のような単純なコマンドセット
$ mkfifo my_pipe
$ echo "1234" > my_pipe
カーソルが点滅している状態で端末を永久に停止させるだけです。私は「間違ったことをしている」のでしょうか?
いいえ、どちらのコマンドでも問題はありません。期待が少しずれているだけです。
あなたが見逃しているのは、そのパイプの反対側にある何かで、そのデータを読み取っています。この明らかなハングはLinuxでも発生するため、CygWinの問題(または実際には何らかの問題)ではありません。
別のウィンドウを開いて、次のように入力します。
cat <my_pipe
データが表示され、続いて元のデータが表示されますecho
。
名前付きパイプの場合は、両端に何かが必要です。パイプがまだ完了していない場合、パイプに書き込むことはできません。そのため、他のecho
何かがそのパイプから読み取ろうとするまでコマンドはハングします。この場合、パイプは発生しません。