デーモンとは
メモ書き程度に
デーモン
語源は悪魔のデーモンではなく、守護神のほうらしい。 デーモン (ソフトウェア) - Wikipedia
まあ、それはそれとして
デーモン(daemon)は長時間動き続けるプロセス
のことです。
APUEのデーモンより
ファイルモード作成時マスクをumask 0でリセットする
- プロセスがファイルを作成するとき、マスクが許可をオフにすることを避けるため
新しいセッションを作成する( 制御端末から切り離し、プロセスグループのリーダとなり、セッションのリーダーとなる)
- forkして、親をexitする
- setsidを呼ぶ
- 制御端末がないので、出力の表示場所がない
ps
のTTYが?
or??
になっている
- エラー状態の報告はsyslogを使う等する
cwdをルートディレクトリ(/)に変更する
不必要なファイルディスクリプタをcloseしておく
- 親から継承したオープンしたディスクリプタをクローズ
標準入力、標準出力、標準エラー出力を閉じる
- 対話的なインターフェースから入力も受けない
- 同じ端末装置に他のユーザーがログインしても、デーモンの出力が端末に現れないようにする
rubyだとProcess.daemonを呼ぶだけでデーモンになる