ここではServiceの書き方について、まとめる。
Serviceは大きく、[Unit][Service][Install]のセクションに分かれる。
設定したUnitの詳細情報を確認する場合は、systemctl show Unit名とすると良い。
[Unit] 依存関係を規定
Description |
Unitの説明文 |
Requires |
同時に有効化が必要なUnit |
Wants |
同時に有効化が必要なUnit |
Before |
自分自身は本項目で設定したUnitの前に起動 |
After |
自分自身は本項目で設定したUnitの後に起動 |
※Unit一覧はsystemctl list-unit-filesで確認可能。
※Unitのタイプ(target,service,mountなど)については
こちらのサイト参照。
[Service]
BusName |
サービスが到達可能なbus接続名 |
EnvironmentFile |
環境変数を読み込むファイル |
ExecReload |
サービスリロード時の実行コマンド |
ExecStartPre |
サービス起動前のコマンド |
ExecStartPost |
サービス起動後のコマンド |
ExecStart |
サービス起動時の実行コマンド |
ExecStop |
サービス停止時の実行コマンド |
ExecStopPost |
サービス停止後のコマンド |
KillMode |
ExecStopで停止せずに残ったプロセスの処理方法 |
LimitCORE |
Coreファイル(プロセス異常終了時のメモリ内容)に関する設定 |
LimitNOFILE |
サービスが開けるファイル数の上限。 |
LimitNPROC |
サービスのプロセス/スレッドの上限数 |
PIDFile |
メインプロセスのPIDファイル出力先 |
Restart |
サービスプロセス停止時の再起動条件。always,no,on-success,on-failure等がある。 |
RestartSec |
サービス再起動までのスリープ時間 |
StartLimitInterval |
再起動を試みるまでのインターバル期間 |
SuccessExitStatus |
メインプロセスに返却される正常終了時のexit status |
TimeoutStartSec |
起動完了までに待機する時間 |
TimeoutStopSec |
停止完了するまでに待機する時間 |
Type |
サービスプロセスの起動タイプ。(simple:バックグラウンド実行,forking:最初のプロセスは停止し、子プロセスをバックグランド実行,oneshot:単発実行,notify:sd_notifyを使用,dbus:dbusを使用がある) |
User/Group |
プロセスを起動するユーザ/グループ |
[Install] enable/disableに関する内容を記載
WantedBy |
enable時にこのUnitの.wantsディレクトリにシンボリックリンクをはる |
RequiredBy |
enable時にこのUnitの.requiredディレクトリにシンボリックリンクをはる |
Also |
enable/disable時に同時にenable/disableするUnit |
最終更新:2018年09月17日 14:23