나는 존재하지 않는 것으로 의심되는 것을 찾고 있습니다 : 커맨드 라인에서 사용하기위한 비 차단 버퍼링 명명 된 파이프 (fifo). 그런 것이 있습니까?
유스 케이스는 다음과 같습니다. 백그라운드에서 오랜 시간 동안 실행되고에 많은 출력을 뿌릴 프로세스가 있다고 가정합니다 stdout. 출력에 대해서는 신경 쓰지 않고 저장하고 싶지 않습니다 (아마도 충분한 공간이 없을 것입니다). 그러나 주기적으로 "들어가서"수행하고있는 작업을 수행 한 다음 다시 제거하고 싶습니다. 작업을 수행하도록 남겨 두십시오. 따라서 출력을 이론적으로 버퍼링 된 비 차단 명명 된 파이프로 리디렉션 한 다음 주기적으로 활용하고 싶습니다.
기본적으로 다음과 같이 시작하고 싶습니다 ( 10M버퍼 크기).
mkmagicfifo magicfifo 10M
spewingprocess > magicfifo &
... 무슨 일이 벌어지고 있는지 정기적으로 살펴 봅니다.
tail -f magicfifo
... 모든 출력 (정상 파일이 아님) 을 magicfifo 저장 하지 않고 채우고 눌렀을 때 스푸핑 프로세스를 차단 하지 않고 (따라서 명명 된 파이프는 아닙니다).
나는 솔루션과 관련된 생각하지 않는다 tail또는 prune(내가 관련된 해결 방법을 생각할 수 있고, 잘 할 것 tail때문에) tail, 아직도 내가 (내가 드롭하고 그것을보고 중퇴 할 경우) 모든 데이터 어딘가에 저장하는 것이 필요 그리고 prune모든 출력을 생성하는 프로세스의 리디렉션을 깨는 아마 (내가이 입증 / 시도하지 않은 인정한다), 파일을 다시 작성해야합니다.
나는 이것을하기 위해 유틸리티를 쓸 수있을 것으로 기대하지만 * nix는 파일과 파이프의 멋진 측면을 많이 가지고 있습니다.
그래서 : 그런 것이 있습니까? 그렇다면 그렇다면 무엇입니까?