Type
完了するのに時間がかかるスクリプトを実行するサービスには、どちらが良いか疑問に思います。デバイスはデバイスによってトリガされますsystemd.path
。
もちろんワンショットと言いたいのですが、100%確信することはできません。
答え1
はい。
スクリプトはいくらでも実行できます。通常のサービス開始タイムアウト(90秒)が有効になっていないためですType=oneshot
。ただし、Type=oneshot
サービスのタイムアウトを強制する場合は、単に手動で設定できます。
タイムアウト開始秒=
開始を待つ時間を設定します。デーモンサービスが設定された時間内に開始完了信号を送信しない場合、サービスは失敗したとみなされ、再び終了します。単位なしの秒単位値または「5min 20s」などの時間範囲値を使用します。タイムアウトロジックを無効にするには、「無限大」を渡します。 Type = oneshotを使用しない限り、管理者設定ファイルのデフォルトはDefaultTimeoutStartSec =です。この場合、タイムアウトはデフォルトで無効になります。
使用しないもう1つの理由Type=simple
は、実行時にサービス状態が「開始済み」と表示されることです。 Type=oneshot
「起動中」のステータスが表示されます。完璧ではないかもしれませんが、もっと意味があると思います。