追加読書

追加読書

システム起動時に実行可能ファイルを起動するsystemd用のサービススクリプトを作成しました。サービススクリプトは、整合性を維持するために90秒ごとに再起動されます。サービスを無効にして実行可能ファイルを実行すると、期待どおりに実行されます。私たちはIntel EdisonでYocto Linuxを使用しています。

起動スクリプトは次のとおりです。

[Unit]
Description=patsuit
After=network-online.target
Wants=network-online.target

[Service]
WorkingDirectory=/home/root
Type=forking
ExecStart=/bin/PatDownSuitFirmware/PatDown_V3
User=root
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target

ベストアンサー1

準備プロトコルが一致しません。プログラムがサブプロセスをフォークし、親プロセスが準備されたことを示すために終了するようにsystemdに指示しました。しかし、実際にはあなたのプログラムはそうしません。 90秒(デフォルトの開始タイムアウト)以内に準備が宣言されていないため、systemdはサービスが失敗したと判断します。サービスが失敗すると、すべてが消去される可能性があります。その後on-failure、失敗したサービスが再起動され、サイクルが繰り返されます。

プログラムの実際の機能を正しく説明する準備プロトコルを使用してください。それはまだ私たちに言っていません。

追加読書

おすすめ記事