14Room

みんな泣きながらオトナになったんだ。

upstartでdaemon化してみよう

概要

OSSの中にはinitスクリプトの無いモノが少なく無いですが、upstartで手軽にdaemon化してしまいましょう。ちなみにdaemon化したプロセスが不意に落ちた場合も自動で立ち上げ直してくれる機能もあります。ここではMHAを例にdaemon化してみました。

install

apt-get update
apt-get install upstart

設定

設定ファイル

/etc/init/mha.conf

内容

description "MHA"
author "Your Name <naked123@gmail.com>"

start on runlevel [2345]
stop on runlevel [016]

chdir /opt/masterha
respawn limit 5 60
respawn
exec  /usr/bin/masterha_manager --conf=/etc/mha.conf >> /var/log/masterha/mha.log 2>&1

注意:respawnが無いと対象プロセスが落ちた時に再起動が働かない。

反映

initctl reload-configuration
initctl list | grep mha

mha stop/waitingと出力されればOK

起動

initctl start mha

期待値 mha start/running, process 10065

initctl list | grep mha

期待値 mha start/running, process 10065

終了

initctl stop mha