두 개의 파이프에 동일한 정보를 쓰고 싶지만 첫 번째 파이프가 읽힐 때까지 기다리지 않으려 고합니다. 여기 cat two
이 실행될 때까지 Tee a Pipe 비동기 적으로
mkfifo one mkfifo two echo hi | tee one two & cat one & cat two &
cat one
cat one
을 실행할 수있는 방법이 있습니까?
두 개의 파이프에 동일한 정보를 쓰고 싶지만 첫 번째 파이프가 읽힐 때까지 기다리지 않으려 고합니다. 여기 cat two
이 실행될 때까지 Tee a Pipe 비동기 적으로
mkfifo one mkfifo two echo hi | tee one two & cat one & cat two &
cat one
cat one
을 실행할 수있는 방법이 있습니까?
문제 :을 읽기 위해 열 때까지의 FIFO가 차단합니다. 따라서 그들에 FD를 열어 두십시오 :
mkfifo one two
echo hi | tee one two &
exec 3<one
exec 4<two
cat <&3
cat <&4
tee에 대한 입력이 파이프 버퍼보다 큰 경우에는 작동하지 않습니다. 재현 : 두 번째 줄을'dd if = <(yes) count = 1000 | tee one two>/dev/null &'스크립트가 블로킹합니다. – hbogert