デーモン 【daemon】 デーモンプロセス
概要
デーモン(daemon)とは、UNIX系OSでメインメモリ上に常駐して特定の機能を提供するプログラム。利用者の操作とは無関係に処理を行うバックグラウンドプロセスの一種で、別のプログラムや機器、通信相手など外部からの要求を受け付けて処理を実行したり、あらかじめ設定されたタイミングで自律的に特定の処理を実行したりする。デーモンはオペレーティングシステム(OS)に登録され、OSの起動(ブート)時に一緒に起動され、実行状態となる。強制終了など特殊な場合を除いて、基本的に利用者が直に操作することはなく、挙動の制御は設定ファイルの編集によって行うことが多い。
デーモンの実体となる実行可能ファイルの名称には、HTTP通信を処理する「httpd」のように処理内容を表す単語の末尾に「d」を付ける習慣がある。必ずしも従う必要はないため例外も多い。ちなみに、Windowsではほぼ同様のプログラムを「サービス」という。
デーモンの種類
多くのOSに共通して用いられるデーモンとしては、多くのプログラムが必要とするシステム関連の処理や機能を担うものや、ハードウェア制御に関連するもの、通信ネットワークを通じて外部の相手から届く要求を処理するものがある。
システム関連のデーモンとしてはsystemd、syslogdなどが、ネットワーク関連のデーモンとしてはinetd、tcpd、httpd、ftpd、smtpd、imapd、dhcpd、smbd、sshdなどが挙げられる。指定された時間にプログラムを起動する機能を提供するcrondなど能動的に動作するものもある。
基本的、汎用的な機能のものはOSの一部に組み込まれて一緒に提供される場合もあるが、特定の目的のためにソフトウェアパッケージの一部として提供されるものも多い。例えばデータベース管理システム(DBMS)などは主要なプログラムをデーモンとして実装することが多い。
(2024.2.28更新)