揮発性のメモ2

http://d.hatena.ne.jp/iww/

systemdの最小のユニットファイル

systemdでプログラムの起動とかを制御するファイルをユニットファイルと呼ぶそう

Systemd入門(4) - serviceタイプUnitの設定ファイル - めもめも
9.6. システムのユニットファイルの作成および変更 - Red Hat Customer Portal


/etc/systemd/system/hoge.service

[Unit]
Description=Hoge daemon service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/hoge
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target
  • After=network.target にしておけばだいたい間違いはない
  • Type=simple はデフォルト。普通のプログラムも背面でデーモンにしてくれる
  • PIDは$MAINPIDで参照可能
  • Restart=always でプログラムが死んだら自動で再起動してくれる
  • WantedBy=multi-user.target はredhatならランレベル3以上(Debianなら2)、みたいなもの


/etc/systemd/system/hoge.service シンボリックリンクにはできない。 実体でないとなぜか systemctl enable hoge がエラーになる。 理由はわからない