systemd 서비스가 시작된 후 "비활성(비활성)" 상태로 종료됩니다.

systemd 서비스가 시작된 후 "비활성(비활성)" 상태로 종료됩니다.

내 서비스를 다음에 추가했습니다.체계(내가 운영하고 있어PI3), 다음과 같습니다.

[Unit]
Description=Oral-B BLE scanner service
Wants=network-online.target
After=network-online.target
StartLimitBurst=10
StartLimitIntervalSec=10
Requires=bluetooth.target

[Service]
Type=simple
WorkingDirectory=/home/pi/scripts
ExecStart=/home/pi/scripts/scanOralB.py
Restart=always
RestartSec=10

[Install]
WantedBy=network-online.target

위 파일에 심볼릭 링크를 추가했습니다./lib/systemd/시스템. 또한 서비스를 활성화했습니다. 내가 확인했는지 확인하기 위해.

pi@raspberrypi:~ $ systemctl is-enabled scanOralB.service
enabled

재부팅하고 상태를 확인해보면 다음과 같습니다.

pi@raspberrypi:~ $ sudo systemctl status scanOralB.service
* scanOralB.service - Oral-B BLE scanner service
   Loaded: loaded (/home/pi/scripts/scanOralB.service; enabled; vendor preset: enabled)
   Active: inactive (dead)

서비스를 수동으로 시작하면 제대로 작동합니다. 부팅 후 서비스가 시작되지 않는 이유를 누군가 설명할 수 있습니까? 추가 출력을 얻지 못했습니다.로그 제어누구나.

답변1

시작하는 것은 필요하지 않기 때문에 시작되지 않습니다.

[설치하다]
WantedBy=networkonline.target
위 파일에 심볼릭 링크를 추가했습니다./lib/systemd/시스템.

이것들은 거의 모두 틀렸습니다.

  • 유닛 파일은 다음과 같아야 합니다.장소존재하다 /etc/systemd/system. 기호 링크는 systemd에 의해 특별히 해석되며 전통적인 파일 시스템 의미 체계가 없습니다. /lib/systemd/system패키지에 속하지 않은 손으로 쓴 단위 파일의 위치가 아닙니다 .
  • 이 유닛 파일은 부트로더에서 실제로 시작하기 위해 필요합니다. network-online.target일반적으로 그렇지 않습니다. multi-user.target일반적인 선택입니다. graphical.target또 다른 것입니다.

관련 정보