serviceユニット


targetがserviceに依存する

2種類の依存設定方法

targetユニット側で設定のケース

serviceユニット側で設定のケース

  1. [Install]セクションのWantedBy=ターゲットなど
  2. systemctl enableで起動有効に

[Unit]セクション

依存ユニットをリスト

順序関係をリスト

依存関係とは独立に順序関係のディレクティブがある。


[Install]セクション

被依存ユニットをリスト

systemctl enableで起動有効に

例: firewalld.serviceのユニットファイル

# 抜粋
[Install]
WantedBy=multi-user.target

[Service]セクション


[Install]セクションのないservice

staticなservice

作成例: /etc/systemd/system/sleep60.service

[Unit]
Description=Sleep60サービス
[Service]
ExecStart=/usr/bin/sleep 60m

[Install]セクションのあるservice

依存関係: multi-user.target => sleep30.service => sleep60.service(前例)

作成例: /etc/systemd/system/sleep30.service

[Unit]
Description=Sleep30サービス
# sleep60サービスが成功してから、これを起動
Requires=sleep60.service
After=sleep60.service

[Service]
ExecStart=/usr/bin/sleep 30m

[Install]
WantedBy=multi-user.target

systemctl enableで自動起動になる

systemctl enable sleep30
Created symlink from /etc/systemd/system/multi-user.target.wants/sleep30.service to /etc/systemd/system/sleep30.service.
systemctl status sleep30
● sleep30.service - Sleep30サービス
   Loaded: loaded (/etc/systemd/system/sleep30.service; enabled; vendor preset: disabled)
   Active: inactive (dead)

手動で起動する場合: systemctl start

systemctl start sleep30

# 確認
systemctl status sleep30 sleep60