デーモン(daemon)とは何か?

ryichk
·
公開:2023/11/29

daemonとは、常駐プロセスのことである。

daemonには次の特徴がある。

  • 端末が割り当てられない

    →端末から入出力する必要がないため。

  • 独自のセッションを持つ

    →あらゆるログインセッションを終了しても影響を受けないように。

  • initが親になってる

    →デーモンを生成したプロセスがdaemonの終了を気にしなくて良いように。

上記に当てはまらなくても常駐プロセスであれば便宜的にdaemonと呼ばれることもある。

プロセスがdaemonかどうかは`ps ajx`コマンドの結果を見ればわかる。

daemonは、PPIDが1で、SIDはPIDに等しく、TTYフィールドは `?`(端末が結びついていないことを示す)になっている。

daemonは端末を持たないので、SIGHUP(端末のハングアップを意味する)シグナルを別用途に使える。慣習としてdaemonが設定ファイルを読み直すためのシグナルとして使われていることが多い。

参照

[試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】

@ryichk
wanna be a good hacker.