커널 로그 메시지를 읽기 위한 파일 설명자?

커널 로그 메시지를 읽기 위한 파일 설명자?

syslog커널 로그 메시지를 읽으려면 SYSLOG_ACTION_READ를 사용합니다 .

(syslog가 제공하는 것과 같이) 커널 로그를 보내기 위해 파일 설명자를 "가져오는" 것이 가능한지 궁금합니다. 사실, 나는 select내 애플리케이션에서 이 파일 설명자를 모니터링하고 싶습니다(이미 다른 udev 관련 파일 설명자를 모니터링하고 있기 때문입니다).

또한 구성할 수 있는 여지가 있는지 알고 싶습니다(예: 로그 수준 설정, 사람이 읽을 수 있는 형식으로 타임스탬프 형식 지정).

내 요구 사항 중 일부 또는 전부가 가능하지 않은 경우 어떤 접근 방식을 권장합니까?

답변1

실행하여 strace dmesg무엇을 읽고 있는지 확인하세요.

# strace -e '!read,write' dmesg >/dev/null
open("/dev/kmsg", O_RDONLY|O_NONBLOCK)  = 3

형식을 변경하거나 메시지를 필터링하는 매개변수는 없으며 장치에서 읽는 것은 프로그램의 작업입니다.

syslog를 실행하는 경우 커널 로그를 직접 읽는 것보다 로그가 내보내는 로그(파이프에 기록할 수 있음)를 관찰하는 것이 좋습니다.

관련 정보