今まではinittab(SysVinit)に
mo:2345:respawn:/usr/local/bin/monit -Ic /etc/monit/monitrc
と書いてた(monitの公式にsampleが載ってる)んだけど、upstartはどうすんだろーう。と/etc/init/ 以下眺めてたらtty1(tty1.conf)の起動がstart on runlevel でrespawnしてるので、同じように書いたら動きました。
- /etc/init/monit.conf
start on runlevel [2345] stop on runlevel [!2345] respawn exec /usr/local/bin/monit -Ic /etc/monit/monitrc
$ sudo monit -t Control file syntax OK $ initctl status monit monit stop/waiting $ sudo initctl start monit monit start/running, process 27728 $ initctl status monit monit start/running, process 27728 $ sudo kill 27728 $ initctl status monit monit start/running, process 27927
おおー、無事initctlで起動できて、killで殺しても復活してきたわ。
ref.
追記
monit-5.3.1 のsource見たら、contrib/monit.upstart にsampleが書いてたわ。
description "Monit service manager" limit core unlimited unlimited start on runlevel [2345] stop on runlevel [!2345] expect daemon respawn exec /usr/local/bin/monit -c /etc/monitrc pre-stop exec /usr/local/bin/monit -c /etc/monitrc quit