概要

  • マシンブート時にsvscanコマンドを実行する。
  • svscanプロセスは/service以下にディレクトリ(/service/qmail-sendなど)を見つけるとsuperviseプロセスを起動する。
  • superviseプロセスは(/service/qmail-send/)runスクリプトを実行され、runスクリプトに書かれたデーモン(qmailやApacheなど)が実行される。
  • デーモンが終了(異常終了でも正常終了でも)すると、superviseプロセスはrunスクリプトを再実行する。
  • これによりデーモンがなんらかの理由で終了しても、すぐに勝手に再起動することになる。

daemontoolsはフォアグラウンドで実行されるプロセス(デーモン)しか制御できない

  • Apacheのように起動と同時に勝手にバックグラウンドに移行するデーモンは扱えない。(というより、DJBはバックグラウンドに移行するデーモンソフトを悪いデザインと考えている)
  • Apacheの場合、daemontools用に-DNO_DETACHというオプションが用意されている。(そういうオプションがないデーモンソフトだった場合、DJBなら自分で一からプログラムを書く)
  • この理由のため、runスクリプトで実行するコマンド(デーモン)はexecの引数にして実行する。

参考


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS