デーモン・サービス(systemd)とは?裏でずっと動き続ける常駐プログラム

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

デーモン・サービスとは(全体像)

デーモン(daemon)は、画面に出てこず、裏でずっと動き続ける常駐プログラムのこと。あなたが何も操作していなくても、OSの起動時から動いて役割を果たしている。

身近にたとえると、ホテルの裏方スタッフだ。お客さん(あなた)が直接お願いしなくても、フロントや警備、清掃が24時間動いてホテルを支えている。デーモンも同じで、Webサーバーやリモート接続を裏で支える働き者。

名前の由来はギリシャ語の「守護神」。悪いものではなく、システムを守る存在というイメージ。

押さえるのは、Unix系ではデーモンの名前の末尾に「d」を付ける慣習があること(daemonのd)。


詳しく:代表的なデーモンとsystemdだけ覚えれば戦える

ここが記事の心臓部。まず代表的なデーモンを見ましょう。

代表的なデーモン(末尾のdに注目)

名前役割
sshdリモートから安全に接続する受付
httpd/nginxWebサーバー(ページを配る)
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(デーモンの正体)

📝 オリジナル問題 1 デーモンの正体

デーモンに関する次の記述のうち、正しいものはどれか。

  1. デーモンはコンピュータに害を与えるウイルスの一種で、発見したらただちに削除すべきものとされる
  2. デーモンは裏で動く常駐プログラムで、Unix系では名前の末尾にdを付けることが多い
  3. デーモンは文字を打ち込んだときだけ動く一時的なプログラムだとされているものである
  4. デーモンは紙に印刷するための装置のことで、プログラムの一種ではないものとされている
テクマスター
テクマスター 解答・解説

解答は 2 ですよ。

デーモンは裏でずっと動き続ける常駐プログラムで、Unix系では名前の末尾にdを付ける慣習がありますね(sshd・httpd)。語源はギリシャ語の「守護神」です。

選択肢1の「ウイルス」、選択肢3の「打ち込んだときだけ動く一時的」、選択肢4の「印刷する装置」はどれも誤りですよ。

選択肢判定理由
1デーモンは正規の裏方プログラム
2常駐プログラムで末尾にdを付ける
3一時的でなく裏で動き続ける
4印刷する装置ではない

オリジナル問題2(systemd)

📝 オリジナル問題 2 systemd

systemd に関する次の記述のうち、正しいものはどれか。

  1. systemdは昔のSysV initとまったく同じもので、機能の改良はされていないものとされている
  2. systemdはWindows専用のしくみで、Linuxでは使われることはないものとされているものである
  3. systemdは現代Linuxの標準の管理役で、サービスの起動・停止やログ統合などを受け持つ
  4. systemdはデーモンを禁止するためのしくみで、すべての常駐プログラムを止めるものとされる
テクマスター
テクマスター 解答・解説

解答は 3 ですよ。

systemdは現代Linuxの標準の管理役(2011年以降)で、サービスの起動・停止や依存関係の解決、ログ統合などを受け持ちますね。昔のSysV initを置き換えた新しいしくみです。

選択肢1の「同じもの・改良なし」、選択肢2の「Windows専用」、選択肢4の「デーモンを禁止」はどれも誤りですよ。

選択肢判定理由
1SysV initを置き換えた改良版
2Linuxで使われるしくみ
3現代Linuxの標準の管理役
4デーモンを管理するもので禁止しない

オリジナル問題3(systemctlコマンド)

📝 オリジナル問題 3 systemctlコマンド

systemd の操作に関する次の記述のうち、正しいものはどれか。

  1. 起動はstart、停止はstop、状態確認はstatus、操作はsystemctlで行う
  2. サービスの操作はマウス操作だけに限られ、コマンドからは起動も停止もできないものとされる
  3. サービスを起動するのはstopコマンドで、止めるのはstartコマンドだとされているものだ
  4. 管理下のサービスは一度起動してしまうと、二度と停止できないものとされているものだ
テクマスター
テクマスター 解答・解説

解答は 1 ですよ。

サービスの操作はsystemctlコマンドで行いますね。起動は`systemctl start`、停止は`systemctl stop`、状態確認は`systemctl status`です。ログをまとめて見るときは`journalctl`を使います。

選択肢2の「マウス操作だけ」、選択肢3の「startとstopが逆」、選択肢4の「二度と停止できない」はどれも誤りですよ。

選択肢判定理由
1状態確認はsystemctl statusで正しい
2コマンドで操作できる
3startが起動・stopが停止
4systemctl stopで停止できる

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る