流れ5の9語目 / 10

サービス(デーモン)

Linux

/etc/sampleapp/app.conf の書き換えが終わりました。「設定の書き換えはこれで終わりですね」と言うと

「設定ファイル変えただけじゃ反映されないよ。サービス再起動して」
「サービス(デーモン)」って、何のことだろう…?

サービス(デーモン)は、サーバーの裏でずっと動き続けて、頼まれごとを待っているプログラムです。

Webページを返すサービスや、SSHの接続を受け付けるサービスがその例です。

このページで分かること読む 約3分・問題 3問
  • サービス(デーモン)は、裏でずっと動き続けて、頼まれごとを待っているプログラム(Webのサービス、SSHを受け付けるサービスなど)
  • 多くのサービスは起動したときに設定ファイルを読む
  • 今の多くのLinuxでは systemctl で操作する(start / stop / restart / status)
  • 「今動いているか」と「サーバーを起動したとき自動で動くか(enable)」は別のこと

身近な例えで理解する

受付係は営業時間中ずっと受付にいて、お客が来るのを待っています。受付のルールが変わったら、朝礼で伝え直してから新しいルールで受け付けます。毎朝出勤する担当が決まっていれば、開店と同時に受付が始まります。

  • 受付係サービス(デーモン)
  • お客を待ち続ける頼まれごと(接続)を待ち受ける
  • ルールを伝え直す再起動・再読み込みで設定を反映する
  • 毎朝出勤する担当が決まっているサーバーの起動と一緒に自動で動く(enable)

ルールの紙を書き換えても、受付係に伝えなければ前のルールのままです。設定ファイルも同じです。

ちょっと確認

Q1先輩のひとこと
先輩「設定ファイル書き換えたのに、前のままの動きなんだけど」

いちばんあやしいのは?

例えを外して、実際のしくみ

ここからは実際のしくみ
サービス(デーモン)とは

ターミナルの画面に出ないところ(バックグラウンド)で動き続けるプログラムです。Webページを返す、SSHを受け付ける(→07 SSH)、ログを集めるなど、ほかからの頼まれごとを待ちます

設定の反映

多くのサービスは起動したときに設定ファイルを読みます。動いている途中でファイルを書き換えても、そのままでは前の設定で動き続けます。restart(止めて起動し直す)か、サービスが対応していれば reload(止めずに設定を読み直す)で反映します

systemctl

今の多くのLinuxでは、systemd というしくみがサービスを管理し、systemctl で操作します。sudo systemctl restart sampleapp で再起動、systemctl status sampleapp で動いているかと最近のログを確かめます

start と enable は別

start は「今動かす」、enable は「サーバーの起動時に自動で動くようにする」です。enable だけでは、今すぐは動きません(--now をつけると今も動かします)

このページのまとめ

サービス(デーモン)
裏で動き続けて、頼まれごとを待つプログラムです
restart / reload
止めて起動し直す / 止めずに設定を読み直す操作です
status
動いているかと、最近のログを確かめる操作です
enable
サーバーの起動時に自動で動くようにする設定です

先輩のひとことの意味

先輩「設定ファイル変えただけじゃ反映されないよ。サービス再起動して」

sampleapp のサービスは、起動したときの設定のまま動き続けています。「sudo systemctl restart sampleapp でサービスを起動し直して、新しい設定を読ませて」という意味です。再起動のあとは systemctl status sampleapp で、ちゃんと動いているか確かめます。

練習問題で確かめる

Q24択

サービスが今動いているか確かめるときに使うのは?

Q34択

systemctl enable sampleapp を実行した。正しい説明は?

参考資料

ご意見・「これで例えて!」を募集しています

ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。

  • 説明してほしいITの言葉
  • 例えてほしい場面(部活・アルバイト・家事など)
  • 分かりにくかったところ・間違いのご指摘

意見箱は準備中です。

解説・例え・練習問題はすべてオリジナルです。参考にしているのは公式ドキュメントのみです。ご意見・ご感想・間違いのご指摘など、何でもお寄せください。確認してすぐに直します。

LinuCはLPI-Japanの登録商標です。当サイトはLPI-Japanおよび他の企業・団体とは関係ありません。

運営:core