systemd 서비스의 출력을 보는 방법은 무엇입니까?

systemd 서비스의 출력을 보는 방법은 무엇입니까?

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한동안 종료 줄 바꿈 또는 문자 없이 출력을 인쇄하는 경우 이 출력은 여전히 ​​활성화되지 않습니다.

관련 정보