デーモン (ソフトウェア)
また、POSIXの仕様に基づき、このプロセスは新しいプロセスグループに所属し、制御端末を持っていた場合はこれを失う。これにより、親プロセスおよび制御端末によるジョブ制御対象からも外れる。
プロセスのカレントディレクトリをルートディレクトリ ("/") にすることにより、プロセスが他のディレクトリを使用中にしないようにする。
umaskを0に変更する。これは、open()、creat()、その他の呼出しに、それら自身のパーミッションマスクを与え、呼出し側のumaskに影響されないようにするためである。
実行時に親プロセスがオープンしたままの、親プロセスから継承したすべてのオープンファイルをクローズする(必要なファイルは後からオープンする)。クローズするファイルにはファイルデスクリプタ0,1,2(stdin標準入力,stdout標準出力,stderr標準エラー出力)も含まれる。
標準ストリーム (stdin, stdout, stderr) をログファイルまたはコンソールまたは/dev/nullにリダイレクトする。
シグナルハンドラをインストールする。これはデーモンを外部から制御する手段としてしばしば使用される。
ちなみに、4.4BSDを祖先とするBSD系OS、glibcを採用したLinux系OSなど、最近のUnix系システムには、上述した処理を行う関数daemon()が用意されており、その関数を使うだけで自プロセスをデーモンに変えることができる。