PIPE_inに送信された `tail -f`を介して接続された2つの名前付きPIPE(PIPE_in / PIPE_out)がPIPE_outに到達しません。

PIPE_inに送信された `tail -f`を介して接続された2つの名前付きPIPE(PIPE_in / PIPE_out)がPIPE_outに到達しません。

1. 名前付き PIPE を生成し、pipe_in以下pipe_outを実行します。

$ mkfifo pipe_in
$ mkfifo pipe_out

2.接続pipe_inpipe_out

TERM0: $ tail -f pipe_in > pipe_out

3.次の文字列を送信してhello world!到着するpipe_inと予想しますpipe_out

TERM1: $ tail -f pipe_out
TERM2: $ echo "hello world!" > pipe_in

pipe_outでコマンドを終了すると、到着した文字列のみが表示されます2.。これはバッファリングの問題のようで、上記のすべてのコマンドを実行することにしましたが、うまくstdbuf -i0 -e0 -o0 <command>いきませんでした。

ベストアンサー1

tailファイル/ストリームの最後のn行だけを出力します。まだ行を生成している間は、どちらが最後のnかはわかりません。

似たようなことを試しましたかcat

おすすめ記事