ITの世界ではよく「デーモン(Daemon)」という言葉が出てきます。
最初に聞いたとき、「悪魔のこと…!?」と思う方もいるかもしれませんね。この「デーモン」は「悪魔」とは別物です。パソコンやサーバーの裏側で静かに動いて、さまざまな機能を支えてくれているとても大事なプログラムなのです。
この記事では『デーモン(Daemon)』について、以下の内容をわかりやすく解説します。
- デーモン(Daemon)とは?
- デーモン(Daemon)の由来
- デーモンとサービスの違い
- Webサーバーのデーモン
- Dockerデーモン(dockerd)
デーモン(Daemon)とは?

デーモンは、OS(オペレーティングシステム)の中で、バックグラウンドで動いているプログラムです。画面に表示されたり、ユーザーが直接操作したりはしないけれど、裏側で常に動いていて、必要なサービスや処理を支えているのがデーモンです。
たとえば、スマホの通知を受け取る機能って、ユーザーが特別に操作しなくても、勝手に通知してくれますよね?これは、デーモンが裏で通信して、新しい情報をチェックしているからなんです。同じように、パソコンやサーバーでも、見えないところで常に動いて、必要なサービスや処理を支えてくれているのがデーモンという存在です。
「デーモン(Daemon)」の綴りは「悪魔(Demon)」とは別物です。
デーモン(Daemon)の由来
「デーモン(Daemon)」という言葉は、ギリシャ神話に登場する「Daemon(ダイモーン)」という精霊に由来しています。
この「ダイモーン」は、人間の目には見えないけれど、こっそり手助けをしてくれる存在です。神さまと人間のあいだにいて、ときにはアドバイスをくれたり、見えないところで支えてくれたりする、やさしい裏方のような精霊です。この「見えないけれど大事な働きをしてくれる存在」というイメージが、コンピューターの中の裏方のプログラムにぴったりでした。
コンピューターの中にも、人間の目には見えないけれど、バックグラウンドで常に動き、必要なサービスを提供してくれるプログラムがあります。たとえば、ネットワークの監視やファイルの管理、メールの受信などを黙々とこなしてくれるプログラムです。このような裏方のプログラムに「デーモン(Daemon)」という名前がつけられました。
このようなプログラムは「人間の目には見えないけれど、大事な働きをしてくれる存在」です。なので、ギリシャ神話の「ダイモーン」にちなんで「デーモン(Daemon)」と呼ばれるようになりました。
「Daemon」はギリシャ語読みだと「ダイモーン」に近い発音になりますが、ITの世界では英語読みで「デーモン(デイモン)」と読むのが一般的です。
デーモンとサービスの違い
「デーモン(Daemon)」と「サービス(Service)」は、どちらもユーザーが直接操作しなくても、OS(オペレーティングシステム)の中で、バックグラウンドで動いているプログラムです。
では、「デーモン」と「サービス」って何が違うの?と思うかもしれませんが、実は使われるOSによって呼び方が異なります。主にLinuxやUnix系のOSでは「デーモン」、Windowsでは「サービス」と呼ばれます。
Linuxで動いている「デーモン」の例
- Webサーバーデーモン:Webページを表示するためのプログラム
- cronデーモン:定期的に何か処理をするためのプログラム(例:毎日深夜にバックアップ)
- SSHデーモン:リモート操作をできるようにするプログラム
これらは、LinuxのOSが起動したときに自動でスタートして、ずっと裏で働いてくれます。
Windowsで動いている「サービス」の例
- プリンターサービス:プリンターを使うためのプログラム
- Windows Updateサービス:自動でアップデートをチェックしてくれるプログラム
こちらも、パソコンを立ち上げるとすぐに動き出し、ユーザーが何もしなくてもちゃんと仕事をしてくれます。
Webサーバーのデーモン
デーモンはパソコンやスマホのような身近な端末はもちろん、Webサーバーなどの大きなシステムでも、幅広く使われています。
たとえばWebサーバーでは、外部からのアクセスを受け付けるために、「外からのリクエストを常に待ち受けるプログラム」が必要です。この役割を担っているのが、Apacheのhttpd
デーモンや、nginx
デーモンなどのWeb用デーモンです。これらのデーモンは、OSの起動時に自動的に立ち上がり、アクセスがあるまで待機し、リクエストが届いた瞬間にすばやく処理して応答します。
Dockerデーモン(dockerd)
仮想化技術としてよく使われるDocker(ドッカー)にも、デーモンが使われています。それがDockerデーモン(dockerd)です。このDockerデーモン(dockerd
)は、ユーザーが何もしなくても、OSの裏側で常に動いていて、Docker全体の仕組みを支えてくれています。例えば、次のようなことを行っています。
処理内容 | 説明 |
---|---|
コンテナの起動・停止 | ユーザーがdocker run などのコマンドを実行すると、実際にコンテナを立ち上げたり停止させたりするのはdockerd の仕事です。 |
イメージの管理 | Docker Hubからのイメージのダウンロードや、ローカルにあるイメージの管理もdockerd が行います。 |
APIの提供 | docker コマンドやDocker Desktopは、裏でdockerd にAPIリクエストを送り、処理の実行や情報の取得を行っています。 |
つまり、私たちがDockerを操作するとき、実際にその指示を受け取って動いているのはDockerデーモン(dockerd
)です。
本記事のまとめ
この記事では『デーモン(Daemon)』について、以下の内容を説明しました。
- デーモン(Daemon)は、OSの中でバックグラウンドで動いているプログラム。
- ユーザーが直接操作しなくても、裏で自動的に必要な処理をしてくれる存在。
- 語源はギリシャ神話の「見えないけれど助けてくれる精霊(ダイモーン)」。
- Linux/Unix系では「デーモン」、Windowsでは「サービス」と呼ばれることが多い。
- Webサーバーでは、
httpd
(Apache)やnginx
などのデーモンがアクセスを待ち受けている。 - Dockerでも
dockerd
というデーモンが、コンテナの起動や管理を裏で支えている。
お読み頂きありがとうございました。