내 서비스를 추가했습니다.체계화된(저는 그것을 실행하고 있습니다.파이3), 다음과 같습니다.
[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=network-online.target위 파일에 심볼릭 링크를 추가했습니다./lib/systemd/시스템.
거의 모든 것이 잘못되었습니다.
- 유닛 파일은 다음과 같아야 합니다.배치안에
/etc/systemd/system
. 심볼릭 링크는 systemd에 의해 특이하게 해석되며 일반적인 파일 시스템 의미 체계를 갖지 않습니다. 그리고/lib/systemd/system
패키지에 포함되지 않은 손으로 직접 작성한 단위 파일을 위한 장소가 아닙니다. - 유닛 파일은 부트스트랩에서 실제로 시작되는 무언가에 의해 필요해야 합니다.
network-online.target
일반적으로 그렇지 않습니다.multi-user.target
일반적인 선택입니다.graphical.target
또 다른 것입니다.