デーモン

提供: ArchWiki
2015年1月6日 (火) 22:40時点におけるKusakata (トーク | 投稿記録)による版 (1版 をインポートしました)
ナビゲーションに移動 検索に移動

デーモンとは、"バックグラウンド"プロセスとして動作する(ユーザーインターフェースを持たない)プログラムのことです。一般的にデーモンはイベントの発生まで待機しサービスを提供します。デーモンの例として、リクエストに対してウェブページを返すウェブサーバーや、誰かがログインするのを待つ ssh サーバーがあげられるでしょう。これらのサーバーは完全に機能が揃ったアプリケーションと言える一方、表には姿を現さないデーモンでもあります。他にも、ログファイルにメッセージを書き込むデーモン (例: syslog, metalog) やシステム時刻を正しく維持するデーモン (例: ntpd) などがあります。詳しくは man 7 daemon を見て下さい。

ノート: デーモンという言葉はしばしば、ブート時に起動しながらメモリ上にプロセスを持たないようなプログラムをさして使われることがあります。こういったプログラムがデーモンと呼ばれるのは、単に伝統的なデーモンを起動するのに使われるのと同じスタートアップ・シャットダウンフレームワーク (例: oneshot タイプの systemd サービスファイル) を利用しているからにすぎません。例えば、alsa-storealsa-restore といったサービスファイルは永続的な設定をサポートしていますが、リクエストやイベントに反応するようなサービスを提供するバックグラウンドプロセスは起動しません。

"デーモン"をプロセスのひとつとして考えない限り、一般的にこの違いはユーザーの目から見れば大して区別されないものです。

デーモンの管理

Arch Linux では、デーモンは systemd によって管理されます。デーモンを管理するために使われるユーザーインターフェースとして systemctl コマンドがあります。このコマンドは、関連付けられたデーモンをどうやって・いつ起動するのか書かれた情報が入っている <service>.service ファイルを読み込みます。サービスファイルは /{etc,usr/lib,run}/systemd/system 内に保存されます。systemctl を使ってデーモンを管理する方法について詳しくは systemd#ユニットを使う を見て下さい。

ブート時に起動

ブート時に起動するサービスを追加・削除するには、次のコマンドを使用 systemctl enable|disable <service_name>

手動で起動

システムの起動中にサービスを起動・停止するには、次のコマンドを使用 systemctl start|stop <service_name>

再起動

サービスを再起動するには、次のコマンドを使用 systemctl restart <service_name>

状態を表示

サービスの現在の状態を表示するには、次のコマンドを使用 systemctl status <service_name>

デーモン一覧

サービスの名前と古い rc.d スクリプトのデーモンの一覧は Daemons List を見て下さい。

関連項目