【でーもん】
デーモン とは?
最終更新:
💡 画面の操作を待たず、裏側でサービスを提供するプロセス
バックグラウンドでサービスを提供するプロセス。常時起動と必要時の起動、systemdのstartとenable、Windowsサービスとの関係を初心者向けに解説します。
📌 このページのポイント
操作画面を開いていないのに、サーバーが返事するのはなぜ?
ずっと計算を続けているの?
起動中でも、要求やイベントを待っている場合があるよ。また、必ず起動時から常駐するとは限らない。systemdでは通信や機器の接続などをきっかけに、必要なサービスを起動する方式もある。
Webサーバーもその例?
そうだね。例えばnginxでは、設定を扱うマスタープロセスと、要求を処理するワーカープロセスがある。nginxもApacheも一律にhttpdという名前で動く、というわけではないよ。
systemctlのstartとenableは、どう違う?
startはサービスを今起動する操作。enableは設定に従って自動起動などに必要な関連付けを作る操作で、それだけでは今起動しない。両方を行うenable --nowもある。対象のサービスや設定を確かめて使おう。
Windowsにも同じ役割がある?
もっと詳しく知りたい人へ
バックグラウンドで動くプログラムは、すべてデーモン?
単に画面に出ないことだけで分類するわけではありません。一回で終わる処理や、アプリ専用の裏側の作業もあります。システムや他のプロセスにサービスを提供する役割と、起動・終了の管理方法を確認すると区別しやすくなります。
systemdで管理するプログラムも、自分で裏側に移る必要がある?
systemd向けの新しい方式では、プログラム自身が従来のようにプロセスを分岐して端末から切り離す処理は不要です。サービスマネージャーに管理を任せる設計が推奨されています。起動方式はサービスの実装とユニット設定を合わせて確認します。
まとめ:ざっくりこれだけ覚えればOK!
「デーモン」って出てきたら「裏側でサービスを提供するプロセス」と思えばだいたいOK!
📖 おまけ:英語の意味
「Daemon」 = バックグラウンドで機能を提供するサービスプロセス
💬 Unix系のシステムで使われる呼び方です。名前の末尾にdが付く例もありますが、必須の命名規則ではありません。