Cygwin - 最初の書き込みの後、尾は入力パイプの読み取りを停止します。

Cygwin - 最初の書き込みの後、尾は入力パイプの読み取りを停止します。

Ubuntuで私のアプリケーションを実行し、その入力をリダイレクトする次のスクリプトがあります。ここで、 $in はテキスト行を stdin に送信する名前付きパイプです。

tail -f "$in" | "$app_bin" $app_args &

必要に応じて自分のアプリケーションに入力を送信できます。

printf "%s\n" "text input" >> "$in"

ただし、Cygwin環境(Windows)で実行している場合、2番目のコマンドは最初にのみ機能します!その後、2番目のテキスト行を送信しようとすると、何もせずに停止し、$ inを操作しようとすると、「デバイスまたはリソースを使用しています」というエラーが発生します。

この問題をどのように解決しましたか? Cygwinにのみ適用されますか?

ベストアンサー1

不完全な実装である可能性があります

https://www.cygwin.com/ml/cygwin/2016-01/msg00085.html

おすすめ記事