デーモン・サービスとは(全体像)
デーモン(daemon)は、画面に出てこず、裏でずっと動き続ける常駐プログラムのこと。あなたが何も操作していなくても、OSの起動時から動いて役割を果たしている。
身近にたとえると、ホテルの裏方スタッフだ。お客さん(あなた)が直接お願いしなくても、フロントや警備、清掃が24時間動いてホテルを支えている。デーモンも同じで、Webサーバーやリモート接続を裏で支える働き者。
名前の由来はギリシャ語の「守護神」。悪いものではなく、システムを守る存在というイメージ。
押さえるのは、Unix系ではデーモンの名前の末尾に「d」を付ける慣習があること(daemonのd)。
詳しく:代表的なデーモンとsystemdだけ覚えれば戦える
ここが記事の心臓部。まず代表的なデーモンを見ましょう。
代表的なデーモン(末尾のdに注目)
| 名前 | 役割 |
|---|---|
| sshd | リモートから安全に接続する受付 |
| httpd/nginx | Webサーバー(ページを配る) |
| cron | 決まった時刻に処理を実行 |
| systemd | 各種サービスの管理役 |
次に、現代Linuxの主役 systemd(2011年以降の標準)。これは個々のデーモンをまとめて管理する「管理役」のデーモンです。
systemd の主な役割
| 機能 | 内容 |
|---|---|
| サービス管理 | 起動・停止・再起動・依存関係の解決 |
| 並列起動 | 関係ないサービスを同時に起動して、立ち上げを速く |
| ログ統合 | journalctl というコマンドで全ログをまとめて見られる |
ここで一番のひっかけが「デーモン=ウイルス・悪いもの」という誤解。デーモンは正規の裏方プログラムで、むしろシステムを支える側です。
2つめのひっかけが「systemd=昔のSysV init(旧式の起動役)」という誤解。systemdは旧式を置き換えた新しいしくみで、並列起動やログ統合などが大きく改良されています。今はLinuxの主要な配布版のほぼすべてが採用しています。
systemdを操作するのが systemctl コマンドです。
systemctl コマンドの例
| コマンド | はたらき |
|---|---|
| `systemctl start nginx` | サービスを起動する |
| `systemctl stop nginx` | サービスを止める |
| `systemctl status nginx` | 今の状態を確認する |
わかりやすく言い換えると
要するに、ホテルのたとえで覚えるとラクです。
①デーモン … 24時間勤務の裏方スタッフ(フロント・警備)。お客が頼まなくても館内を守る
②systemd … 全スタッフを束ねる総支配人。出勤管理も記録のとりまとめも一手に引き受ける
③systemctl … 総支配人へ「この係を出勤させて」と伝える指示書
つまり、「dは裏方の働き者」「束ねる管理役がsystemd」「指示はsystemctl」と押さえれば充分です。
試験のツボ
🔴 一番出る:デーモンの正体と命名
①デーモンは裏でずっと動く常駐プログラム(正規の裏方・ウイルスではない)
②Unix系では名前の末尾に「d」を付ける(sshd・httpd)
🔴 次に出る:systemd
①systemdは現代Linuxの標準の管理役(2011年以降)
②昔のSysV initを置き換えた新しいしくみ(並列起動・ログ統合)
🟡 押さえると安定:systemctlコマンド
①操作はsystemctl start/stop/statusが基本
②ログをまとめて見るのはjournalctl
よくある間違い
①「デーモンはウイルスや悪いプログラムである」→ ✗ デーモンは正規の裏方プログラム。Webサーバーやリモート接続を支える働き者。
②「systemdは昔のSysV initと同じものである」→ ✗ systemdはSysV initを置き換えた新しいしくみ。並列起動やログ統合が改良点。
③「デーモンの操作にコマンドは使わない」→ ✗ systemd管理下ならsystemctl start/stop/statusで操作する。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(デーモンの正体)
デーモンに関する次の記述のうち、正しいものはどれか。
- デーモンはコンピュータに害を与えるウイルスの一種で、発見したらただちに削除すべきものとされる
- デーモンは裏で動く常駐プログラムで、Unix系では名前の末尾にdを付けることが多い
- デーモンは文字を打ち込んだときだけ動く一時的なプログラムだとされているものである
- デーモンは紙に印刷するための装置のことで、プログラムの一種ではないものとされている
解答は 2 ですよ。
デーモンは裏でずっと動き続ける常駐プログラムで、Unix系では名前の末尾にdを付ける慣習がありますね(sshd・httpd)。語源はギリシャ語の「守護神」です。
選択肢1の「ウイルス」、選択肢3の「打ち込んだときだけ動く一時的」、選択肢4の「印刷する装置」はどれも誤りですよ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | デーモンは正規の裏方プログラム |
| 2 | ✓ | 常駐プログラムで末尾にdを付ける |
| 3 | ✗ | 一時的でなく裏で動き続ける |
| 4 | ✗ | 印刷する装置ではない |
オリジナル問題2(systemd)
systemd に関する次の記述のうち、正しいものはどれか。
- systemdは昔のSysV initとまったく同じもので、機能の改良はされていないものとされている
- systemdはWindows専用のしくみで、Linuxでは使われることはないものとされているものである
- systemdは現代Linuxの標準の管理役で、サービスの起動・停止やログ統合などを受け持つ
- systemdはデーモンを禁止するためのしくみで、すべての常駐プログラムを止めるものとされる
解答は 3 ですよ。
systemdは現代Linuxの標準の管理役(2011年以降)で、サービスの起動・停止や依存関係の解決、ログ統合などを受け持ちますね。昔のSysV initを置き換えた新しいしくみです。
選択肢1の「同じもの・改良なし」、選択肢2の「Windows専用」、選択肢4の「デーモンを禁止」はどれも誤りですよ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | SysV initを置き換えた改良版 |
| 2 | ✗ | Linuxで使われるしくみ |
| 3 | ✓ | 現代Linuxの標準の管理役 |
| 4 | ✗ | デーモンを管理するもので禁止しない |
オリジナル問題3(systemctlコマンド)
systemd の操作に関する次の記述のうち、正しいものはどれか。
- 起動はstart、停止はstop、状態確認はstatus、操作はsystemctlで行う
- サービスの操作はマウス操作だけに限られ、コマンドからは起動も停止もできないものとされる
- サービスを起動するのはstopコマンドで、止めるのはstartコマンドだとされているものだ
- 管理下のサービスは一度起動してしまうと、二度と停止できないものとされているものだ
解答は 1 ですよ。
サービスの操作はsystemctlコマンドで行いますね。起動は`systemctl start`、停止は`systemctl stop`、状態確認は`systemctl status`です。ログをまとめて見るときは`journalctl`を使います。
選択肢2の「マウス操作だけ」、選択肢3の「startとstopが逆」、選択肢4の「二度と停止できない」はどれも誤りですよ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✓ | 状態確認はsystemctl statusで正しい |
| 2 | ✗ | コマンドで操作できる |
| 3 | ✗ | startが起動・stopが停止 |
| 4 | ✗ | systemctl stopで停止できる |
まとめ
押さえどころ
- 🔴 デーモン = 裏でずっと動く常駐プログラム(正規の裏方・ウイルスではない)。Unix系は末尾にd(sshd・httpd)。
- 🔴 systemd = 現代Linuxの標準の管理役(2011年以降)。昔のSysV initを置き換えた新しいしくみ。
- 🟡 systemctl = サービスの操作コマンド(start/stop/status)。ログはjournalctlでまとめて見る。
次に学ぶ
- シェル・コマンドライン ── systemctlのようなコマンドをOSに送る窓口。デーモンを操作する入口になる。
- プロセス管理 ── デーモンも1つのプロセス。OSがプログラムをどう動かし管理するか。
執筆: SikakuQuest編集部