두 파이프의 비차단 폴링?

두 파이프의 비차단 폴링?

이게 내가 하고 싶은 일이야..

mkfifo infrequentlog frequentlog
sort -m infrequentlog frequentlog > mylog
funcA > infrequentlog 
funcB > frequentlog 

이렇게 하면 꼬리를 모니터링할 때 두 로그에서 날짜가 정렬되는 것을 볼 수 있습니다.

tail -f mylog

문제는 funcA가 뭔가를 생성할 때까지 이것이 인쇄되지 않는다는 것입니다. 내가 원하는 것은 funcA가 현재 아무것도 생성하지 않더라도 funcB에 대한 정보를 얻을 수 있다는 것입니다.

답변1

세 번째 파이프를 생성하고 처음 두 파이프를 연속적으로 복사합니다. 그런 다음 세 번째 기사를 읽어보세요.

while cp infrequentlog mainlog; do :; done &
while cp frequentlog mainlog; do :; done &

sort mainlog > mylog

또한 모든 메시지를 얻으려면 정렬을 반복해야 합니다.

관련 정보