시작 시 실행되는 프로그램의 출력 보기

시작 시 실행되는 프로그램의 출력 보기

나는 Python 스크립트를 작성했습니다 test.py. 스크립트는 지속적으로 실행되며 때때로 정보를 인쇄합니다. 터미널에서 스크립트가 실행되면 출력을 볼 수 있습니다.

하지만 부팅 시 스크립트가 시작되기를 원하므로

sudo python /home/pi/test.py &

존재하다 /etc/rc.local.

로그인 후 출력이 표시되지 않습니다. 로그인 후 터미널을 "열고" 스크립트 출력을 볼 수 있는 방법이 있습니까?

답변1

systemd/journald가 포함된 최신 배포판이 있다고 가정하면 journalctl -b.

Fedora/RHEL 8/CentOS 8에서 rc-local.service 로그만 보려면 다음을 실행할 수 있습니다.

journalctl -f -u rc-local.service

Debian/Ubuntu 및 기타 배포판에서 이를 수행하는 방법을 잘 모르겠습니다.


귀하의 의견을 고려하여 다음 명령을 시도해 볼 수도 있습니다.

journalctl -f $(which python)

추신: sudo실행 rc.local되는 모든 것은 rc.local기본적으로 루트 계정에서 시작됩니다.


tail -f예를 들어 를 사용하여 추적할 수 있도록 스크립트 출력을 어딘가로 리디렉션한 다음 를 사용 python /home/pi/test.py >/var/log/test.log 2>&1 &하여 로그를 추적할 수 있습니다 tail -f /var/log/test.log.

답변2

아니요. 하지만 STDERR 및 STDOUT을 파일로 리디렉션한 다음 볼 수 있습니다.

python test.py test.out 2>/home/pi/test.err

이미 실행 sudo중이므로 생략합니다 ./etc/rc.localroot

관련 정보