systemd
콘솔에서 서비스를 시작한 것처럼 CentOS에서 서비스의 출력을 관찰하고 싶습니다 . 예, 출력을 볼 수 있지만 journalctl
자동으로 아래쪽으로 스크롤되지는 않습니다. 그렇다면 서비스의 실시간 출력을 어떻게 볼 수 있나요?
답변1
journalctl -f -u mystuff.service
설명서에는 다음과 같이 나와 있습니다.
-f, --follow
최신 저널 항목만 표시하고 저널에 추가되는 새 항목을 계속해서 인쇄합니다.
그리고
-u, --unit=UNIT|PATTERN
시스템 단위 UNIT(예: 서비스 단위) 또는 PATTERN과 일치하는 모든 단위를 지정하는 메시지를 표시합니다. 패턴이 지정되면 로그에 있는 장치 이름 목록이 지정된 패턴과 비교되어 일치하는 항목이 사용됩니다. 각 단위 이름에 대해 해당 단위의 메시지에 대한 일치 항목("_SYSTEMD_UNIT=UNIT")이 추가될 뿐만 아니라 systemd의 메시지에 대한 추가 일치 항목과 지정된 단위의 코어 덤프에 대한 메시지도 추가됩니다.이 매개변수는 여러 번 지정할 수 있습니다.
답변2
@don_crissti의 답변에 추가하려면 서비스의 출력만 보고 싶은 경우 다음 명령을 사용할 수 있습니다.
journalctl -f -o cat _SYSTEMD_UNIT=mystuff.service
-o cat
추가 정보(예: 타임스탬프)를 생략하고 _SYSTEMD_UNIT
대신 -u
평균 메시지를 사용하는 출력 형식을 선택합니다 .관련된서비스로 전송되었지만 서비스에서 인쇄되지 않은 정보(예: 시작/중지 메시지 또는 코어 덤프)는 선택되지 않습니다.
로그는 서비스에서 수신한 모든 항목에서 StandardOutput=journal
줄 바꿈 및 문자 로깅으로 분할되므로 NUL
서비스가 NUL
한동안 종료 줄 바꿈 또는 문자 없이 출력을 인쇄하는 경우 이 출력은 여전히 활성화되지 않습니다.