ここでは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