daemontools

最終更新日時:2017-02-14 00:00:00
djb関連

daemontools は、デーモンを制御するツール群です。
通常、システム起動時に起動し、そのまま常駐するデーモンは、/etc/rc.d/init.d あたりにスタータースクリプトを置いておいたりとか、/etc/rc.d/rc.local に起動コマンドを書いておいたりしますが、それらの作業をもっと簡単かつ安全にすることができます。
具体的には daemontools を使用することにより、以下のようなメリットがあります。

・ サービスの登録、削除が簡単。
ディレクトリに登録するだけなので、そのディレクトリを作成したり削除するだけでOK。
基本的にシンボリックリンクにしておけば実体を消すこともないです。

・ サービスの再起動等(シグナルの送信)が簡単。
プロセス ID を押さえているので、コマンドで簡単に起動、再起動、停止が行えます。
通常は、それぞれサービス固有のスクリプトがある場合は、それを使用できますが、無い場合は ps -ef |grep xxx 等とやってプロセス ID を取ってきた後、kill でシグナルを送る必要があります。

・ 自動的に起動し直してくれる。
多分、これが一番大きな恩恵でしょうか。
daemontools で起動したサービスは常に監視されているので、何かの原因で異常終了してしまった時は、自動的にそのサービスを起動し直してくれます。

・ ログを制御。
daemontools はサービスの出力するログも管理できます。
syslog 等ではログのローテートはまた別に考慮する必要がありますが、daemontools ではローテートにも対応しています。
ただ、通常の multilog 形式では不便なこともあるので、場合によってはカスタマイズする必要があるかも。

お問い合わせは 掲示板 にて。