select(2)
一度に複数の FIFO を読み取り (おそらく を使用)、読み取った内容を出力し、すべての FIFO が閉じられたときにストリームを閉じるツールを探しています。より正確に言うと、 は次のprogram
ように動作します。
$ mkfifo a b
$ program a b > c &
$ echo 'A' > a
$ echo 'B' > b
[1] + done program a b > c
$ cat c
A
B
$ program a b > c &
$ echo 'B' > b
$ echo 'A' > a
[1] + done program a b > c
$ cat c
B
A
私の最初の試みは を使用することcat
でしたが、2 番目の例は機能しません (echo 'B' > b
ハングcat
します)。この場合に使用する正しいツールは何ですか?