rsyslog의 출력을 모니터링하고 처리하도록 설계된 C 애플리케이션을 개발 중입니다. 내 연구에 따르면 이를 달성하는 한 가지 방법은 명명된 파이프를 생성한 다음 해당 명명된 파이프를 가리키는 새로운 syslog 대상을 생성하는 것입니다. 내 C 응용 프로그램은 이 명명된 파이프를 열고 읽습니다.
그러나 내 C 응용 프로그램이 명명된 파이프에서 충분히 빠르게 읽지 못해 syslog가 FIFO 버퍼를 가득 채운다고 가정해 보겠습니다. syslog는 정확히 무엇을 합니까? 내부 버퍼를 생성하고 유지합니까? 아니면 새 메시지가 삭제되기 시작하나요?
내 응용 프로그램은 그다지 중요하지 않으므로 이상적으로 syslog는 버퍼링된 데이터 등으로 시스템을 방해하기 시작하는 대신 메시지 삭제를 시작합니다.