User1
User1

Reputation: 41193

Tee a Pipe Asynchronously

I would like to write the same information to two pipes, but I don't want to wait for the first pipe to read. Here's an example

mkfifo one
mkfifo two
echo hi | tee one two &
cat one &
cat two &

cat one does not start reading until cat two is run. Is there a way to make cat one run without waiting?

Upvotes: 3

Views: 1559

Answers (2)

Jürgen Hötzel
Jürgen Hötzel

Reputation: 19727

Problem: Fifos are blocking until opened for reading. So just open a read FD on them:

mkfifo one two
echo hi | tee one two &
exec 3<one
exec 4<two
cat <&3
cat <&4

Upvotes: 1

Dennis Williamson
Dennis Williamson

Reputation: 360105

echo hi | tee one | tee two &

Upvotes: 0

Related Questions