デーモンとはその名前のとおり、「悪魔」や「守護神」という意味でですが、Linuxでつかわれるデーモンの意味は、どっちだと思いますか?
もちろん、「守護神(daemon)」のほうです(^^)
デーモンはプロセスの一種になります。特徴としては、処理要求があるのを待ち続け、要求があったときに自分をコピーしたプロセスをつくり、処理をします。
Webサーバー、telnetなんかが、このデーモンをつかって動作しています。(サーバーとよばれるサービスにはデーモンは欠かせない存在です)
Webサーバーであれば、アクセスがあるまで、ジィ〜っと待ち続け、処理要求があったときにWebページを表示させるために動作をするといったことです。
デーモンは処理要求があるたびに、自分をコピーしたプロセスをつくり処理することはご紹介しましたが、ここで一つ問題があります。アクセスが多いWebページなどのデーモンはそれだけ、多くのプロセスを作る必要があります。でも、あまり多くのプロセスを作りすぎると、サーバーに負荷がかかり、処理能力が
低下してしまします。
最悪な場合にはサーバーがダウンするといったことにもなります。(よく、サーバーが落ちたなんていう状態です(^^;))
それらの対策としては、あらかじめ、プロセスをいくつか起動させておいてそのプロセスで処理を対応させる方法がとられています。
デーモンには上で紹介した普通のデーモンのほかに「スーパーデーモン」とよばれるデーモンがあります。このデーモンは、他のデーモンの代理で、処理を待って、要求があった場合に、そのサービスのデーモンを起動させて、処理をさせます。
簡単にいうと、デーモンの司令塔てきな存在なんです(^^)v
たとえば、telnetの処理要求があった場合にはtelnetデーモンを起動し、Webアクセス要求があれば、Webサーバーデーモンを起動して、処理をさせます。これによって、常に必要のないデーモンを起動させておく必要が無く、サーバーに対する負荷が軽減する効果があります。
デーモンとは簡単にいうと、Linuxの裏方、黒子のようなものです。決して、目立つことはありませんが、ちゃんと働いてくれないと困る存在なのです。影でLinuxサーバーを支えるところから、デーモン(守護神)という名前がついたようです。