Systemdサービスは再起動時にのみ機能します。

Systemdサービスは再起動時にのみ機能します。

Pythonスクリプトを実行するシステムサービスがあります。スクリプトはWebページを開き、httpソケットサーバーを実行してコマンドを受け取ります。

ラズベリーパイ(モデル3b v1.2)を再起動すると、サービスステータスはアクティブで実行中です。 Webページが開きますが、サーバーは起動しません。

サービスを再起動すると、サーバーを含むスクリプトが実行され動作します。

サービスコードは次のとおりです。

[Unit]
Description=My magic display service.
After=graphical.target
Requires=network.target

[Service]
Type=idle
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/pi/.Xauthority"
User=pi
ExecStart=/usr/bin/python3 -u /home/pi/DisplayAndControl.py
Restart=always
StandardOutput=file:/tmp/DisplayAndControl.log
StandardError=inherit

[Install]
WantedBy=multi-user.target

Pythonコードの先頭に30秒の待ち時間を追加してみましたが、これはサーバーでも機能しました。

現在起動されていませんが、30秒前にロードされたスクリプトに必要な依存関係が何であるかをどうやって知ることができますか?その後、After = name_of_dependent.targetと入力すると機能しますか?

ありがとう、

ベストアンサー1

おすすめ記事