Fedora17でmonitをsystemdから安定起動する方法
Fedora17でmonitをsystemd経由で起動すると何故かdaemonが正常起動するときとしない時がありました。
正しくは起動処理は上手くいくが、daemonの状態がactiveからdeactivating (stop-sigterm)になり、最後には inactive (dead) になってしまうという状況でした。
# service monit status
Redirecting to /bin/systemctl status monit.service
monit.service - Monit process and file monitoring utility
Loaded: loaded (/usr/lib/systemd/system/monit.service; enabled)
Active: inactive (dead) since Fri, 28 Sep 2012 00:36:01 +0900; 28s ago
Process: 10201 ExecStart=/usr/bin/monit -c /etc/monitrc (code=exited, status=0/SUCCESS)
Main PID: 10202 (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/monit.service
上記のようなステータスになり、monitのdaemonがinactiveになります。
ですが、時折、正常起動できたりするため安定起動しないことに不安をおぼえます。
これを解消するにはmonitの起動ファイルに手を加えます。
# vi /usr/lib/systemd/system/monit.service
[Unit]
Description=Monit process and file monitoring utility
After=network.target
[Service]
#Type=forking
Type=simple
ExecStart=/usr/bin/monit -I
ExecReload=/usr/bin/monit reload
[Install]
WantedBy=multi-user.target
※SystemdのServiceの詳細はこちらを見るとわかります。
ここではTypeをsimpleにして、さらにmonit起動オプションを付けてbackgroundで動かないようにしてます。
これでmonitも安定稼働するようになるはずです。