Python을 실행하는 서비스 만들기

Python을 실행하는 서비스 만들기

.service 파일을 생성하여 Pi4에서 서비스를 시작하려고 합니다.

이것이 내가 지금까지 가지고 있는 것입니다:

Unit]
Description=NZBHydra2 Daemon
Documentation=https://github.com/theotherp/nzbhydra2
After=network.target

[Service]
User=root
Group=something
Type=simple

# Set to the folder where you extracted the ZIP
WorkingDirectory=/opt/nzbhydra2

# NZBHydra stores its data in a "data" subfolder of its installation path
# To change that set the --datafolder parameter:
# --datafolder /path-to/datafolder
ExecStart=sudo -u pi /usr/bin/python /opt/nzbhydra2/nzbhydra2wrapper.py --nobrowser
Restart=on-failure

[Install]
WantedBy=multi-user.target

추가한 pi대신 사용자로 실행하고 싶지만 Python 액세스가 거부되었습니다. 없이 실행하면 루트만 액세스할 수 있는 파일도 생성됩니다. /opt/nzbHydra2의 소유자는 pi:pi입니다.root-u pi-u

pi루트 대신 사용자로 이 Python 스크립트를 실행하면서도 여전히 Python에 액세스할 수 있는 방법은 무엇입니까 ?

감사해요!

답변1

sudo시스템 서비스나 비대화형 스크립트 내에서는 사용 하지 마세요 . 대신 이미 검색된 User=및 필드를 사용할 수 있습니다 .Group=

귀하의 장치는 다음과 같아야 합니다:

[Unit]
Description=NZBHydra2 Daemon
Documentation=https://github.com/theotherp/nzbhydra2
After=network.target

[Service]
User=pi
Group=pi
Type=simple
WorkingDirectory=/opt/nzbhydra2
ExecStart=/usr/bin/python /opt/nzbhydra2/nzbhydra2wrapper.py --nobrowser
Restart=on-failure

[Install]
WantedBy=multi-user.target

관련 정보