daemontools はめったに設定しないので毎回忘れる!とくにmultilogとか編集中にはダウンさせておくとか。一連の流れをまとめたメモ。
インストール
$ sudo apt-get install daemontools-run $ cd $ mkdir daemontools
foo ディレクトリをつくり、スティッキービットをたてる
$ cd ~/daemontools $ mkdir foo $ mkdir foo/log $ chmod +t foo
シンボリックリンクを /etc/service 以下につくる
自動で supervise が起動するのでダウンさせておく
$ cd /etc/service $ sudo ln -s /home/hoge/daemontools/foo foo $ sudo svc -d /etc/service/foo $ sudo svc -d /etc/service/foo/log
runを作成
$ cd ~/daemontools/foo $ vim run
export PATH=/path/to/library cd /home/hoge/app/foo && exec setuidgid hoge executable-file
log/runを作成
$ vim log/run
exec setuidgid hoge multilog t ./main
作成したrunファイルに実行パーミッションを付与
ログを書き込むためにlogディレクトリの所有ユーザを指定する
$ chmod +x run log/run $ chown hoge log
先ほどダウンさせたサービスを開始する
$ sudo svc -u /etc/service/foo/log $ sudo svc -u /etc/service/foo
$ sudo svstat /etc/service/foo $ sudo svstat /etc/service/foo/log
を実行して up の秒数が増えていれば正常に起動している。10 seconds 以上にならないときは異常終了しているので環境変数やパスが間違っていないか確認する。