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もう一つです。

おすすめ記事