전제 조건:
$ mkfifo pipe1
몇 줄을 입력하면파이프 1
$ (echo line 1; echo line 2) > pipe1
모든 라인은 다른 터미널에서 읽을 수 있습니다
$ cat pipe1
line 1
line 2
여태까지는 그런대로 잘됐다.
하지만
후자 대신에고양이여러 부분 읽기가 수행되었습니다.
$ head -n 1 pipe1; head -n 1 pipe1
line 1
그런 다음 데이터의 첫 번째 행만 파이프라인으로 연결됩니다.파이프 1복귀(처음부터헤더 -n 1) 나머지 데이터는 손실된 것으로 보이며 두 번째 읽기 액세스가 중단되어 (새) 데이터를 사용할 수 있을 때까지 기다립니다.파이프 1.
어떻게
여러 개의 연속적인 부분 읽기가 가능하도록 명명된 파이프와 파이프 콘텐츠를 설정하시겠습니까?
즉, 이것을 얻는 방법은 다음과 같습니다.
$ head -n 1 pipe1; head -n 1 pipe1
line 1
line 2