기본 시스템 사용법을 배우려고하는데 사용자 서비스 단위와 혼동되는 문제가 발생했습니다.
systemctl start some.service를 사용 하여 일반 서비스를 실행할 때 sudo journalctl --unit some.service를 실행 하여이 서비스에 대한 전체 로그 (내가 알기로 stdout / stderr에 인쇄 한 것을 포함하여)를 찾을 수 있습니다 .
servicefile chatty.service 예제를 고려하십시오 .
[Service]
ExecStart=/usr/bin/echo "test from chatty.service"
이 서비스 파일을 ~ / .config / systemd / user / chatty.service에 배치 하고 systemctl --user start chatty.service로 실행하면 일반 journalctl 이나 journalctl을 사용 하여 journalctl 에서 stdout으로 전송 된 출력을 찾을 수 없습니다. -user . 나는 두 가지 모두에서 다음과 같은 결과 만 얻습니다.
Jan 15 19:16:52 qbd-x230-suse.site systemd[1168]: Starting chatty.service...
Jan 15 19:16:52 qbd-x230-suse.site systemd[1168]: Started chatty.service.
그리고 journalctl --unit chatty.service 는 아무 것도 반환하지 않습니다 (user의 유무에 관계없이 차이는 없습니다).
동일한 서비스 파일을 / etc / systemd / system으로 이동 하고 sudo systemd start chatty.service로 실행하면 sudo journalctl --unit chatty.service를 실행할 때 다음과 같은 출력이 표시됩니다 .
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Starting chatty.service...
Jan 15 19:28:08 qbd-x230-suse.site systemd[1]: Started chatty.service.
Jan 15 19:28:08 qbd-x230-suse.site echo[27098]: test from chatty.service
사용자 서비스 단위가 어떻게 든 잘 통합되지 않은 것 같습니다. 이것이 예상입니까, 뭔가 빠졌습니까, 아니면 버그입니까?
systemd 208 (기본 설치)과 함께 openSUSE 13.1 x86-64를 실행하고 있습니다.
journalctl --user --user-unit chatty
적어도 내 경우에는 에코 프로세스가 출력하는 것이 아니라 시스템 시작에서 시작 / 중지 메시지를 얻는 데 사용할 수 있습니다 . 에코 메시지를journalctl --user
받거나 다른 필터를 사용할 수 있습니다 .