Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Linux

Linuxにおけるデーモンやサービスの意味や常用コマンドについて

投稿日:2020年6月3日 更新日:

(0)目次&概説

(1) 記事の目的
 (1-1) 目的
 (1-2) 前提条件
(2) デーモン/サービスとは?(CentOS6以前)
 (2-1) デーモン/サービスとは?
 (2-2) SystemVでのサービス管理について
 (2-3) 「/etc/profile」ファイルについて
(3) デーモン/サービスとは?(CentOS7以降)
 (3-1) systemdによるサービス管理について
 (3-2) サービス起動/停止/再起動コマンド
 (3-3) サービス状態確認コマンド
 (3-4) サービス自動起動コマンド

(1) 記事の目的

(1-1) 目的

Linuxにおけるデーモンの意味を、具体的にCentOS6以前(System V)とCentOS7以降(systemd)に分けて見ていく事で理解を深め、また常用のコマンドは使いやすいように纏めること。

目次にもどる

(2) デーモン/サービスとは?(CentOS6以前)

(2-1) デーモン/サービスとは?

・デーモンとはLinux系のOSにおいて、バックグラウンドで動作するプロセスの事を指します(ユーザとの対話なし)
・Windowsでは「サービス」がデーモンに相当する役割を担っています。

(2-1-1) 起動中のサービス(≒デーモン)確認
service --status-all

(図211)①

(2-1-2) サービスの起動/停止/再起動/ステータス確認
service [Service Name] start
service [Service Name] stop
service [Service Name] restart
service [Service Name] status

(図212)②

目次にもどる

(2-2) SystemVでのサービス管理について

・「/etc/init.d/」には「SystemV」(CentOS6以前で利用されていたLinuxの伝統的なサービス管理)で利用されるサービススクリプト(≒デーモン起動スクリプト)が格納されています。
・これらはカーネル起動時に最初に起動するサービスが含まれており、start/stop/restartといった命令を実行できます(※ただし起動時は必ずしもOS起動時ではなく、ランレベルで制御)
・またデーモン(≒サービス)の起動や停止等の操作に関しては、このディレクトリ配下のスクリプトを指定しての実施も可能です。

/etc/init.d/[Service Name] start
/etc/init.d/[Service Name] stop
/etc/init.d/[Service Name] restart
/etc/init.d/[Service Name] status

(図221)

・上記と似た名前のディレクトリで「/etc/init」(「.d」なし)には「Upstart」(サービス管理パッケージ)で利用される設定ファイルが格納されています。
・サービスの起動/停止の方法やタイミング等を定義しています。

目次にもどる

(2-3) 「/etc/profile」ファイルについて

・システム全般で利用される設定や各種起動時の設定などが記述されたプログラムです。
・環境変数(PATH)の設定やユーザの制限など色々な用途で利用されます。
・ユーザがログインすると、このファイルを読み込んで環境変数の設定等を行います。

目次にもどる

(3) デーモン/サービスとは?(CentOS7以降)

(3-1) systemdによるサービス管理について

・systemdはCentOS7から導入されたサービス管理の仕組みで、CentOS6等で利用されていた「SysV initマネージャ」の後継として多くのLinuxディストリビューションで導入されています。
・systemdはLinuxカーネルによって開始される最初のプロセスでPID=1を取得し、全てのプロセスの親プロセスになります。

目次にもどる

(3-2) サービス起動/停止/再起動コマンド

(3-2-1) サービスの停止
# systemctl stop [Service Name].service

(3-2-2) サービスの起動
# systemctl start [Service Name].service

(3-2-3) サービスの再起動
# systemctl restart [Service Name].service

(3-2-4) サービス設定の再読み込み

サービスによっては「reload」をサポートしている場合があります。

# systemctl relaod [Service Name].service

(図320)

目次にもどる

(3-3) サービス状態確認コマンド

(3-3-1) サービスの状態を確認
# systemctl is-active [Service Name].service

(3-3-2) サービスの詳細な状態確認
# systemctl status [Service Name].service

(3-3-3) サービスの一覧表示
# systemctl list-unit-files -t service

(図333)

右側に表示されるステータスの意味は下記の通りです。
→「enabled」→システム起動時に自動で有効化する
→「disabled」→システム起動時に有効化されない
→「static」→システム起動時に有効化されない&自動起動が未設定
→「bad」→ファイルが無効であるかエラーが発生している

(3-3-4) サービスの検索(サービス名の部分一致)
# systemctl list-unit-files -t service | grep "[Partial Service Name]"
# systemctl list-unit-files -t service | grep "tomcat"

目次にもどる

(3-4) サービス自動起動コマンド

サービスによってはデフォルトで自動起動(システム起動時)にならないものもあるため、その場合は「enable」オプションを使い手動で自動起動を有効化します。

(3-3-1) 自動起動の有効化
# systemctl enable [Service Name].service

(3-3-2) 自動起動の無効化
# systemctl disable [Service Name].service

(3-3-3) 自動起動の有効化設定チェック
# systemctl is-enabled [Service Name].service

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Linux

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Linux:定期的に再起動するスクリプト

Linuxサーバーを定期的に再起動するスクリプトを紹介します。定期的に再起動するという処理はシステム構築においては、運用の中で定義される「死活監視」に関連してくる話になります。 ●シェルとは?シェルス …

CATALINA_HOMEが設定されない時の想定原因と対処法

<目次> (1) CATALINA_HOMEが設定されない時の想定原因と対処法  (1-1) 発生状況・エラーメッセージ  (1-2) 原因  (1-3) 対処法 (1) CATALINA_HOMEが …

CentOS6でエラー「Cannot find a valid baseurl for repo: centos-sclo-rh」が出た時の対処メモ

<目次> (1) CentOS6でエラー「Cannot find a valid baseurl for repo: centos-sclo-rh」が出た時の対処メモ  (1-1) エラーメッセージ …

Linuxの”No space left on device”エラーの対処方法

(0)目次&概説 >(1) 障害・不具合の概要 >(2) 障害・不具合の原因 >(3) 障害・不具合の対処 (1) 障害・不具合の概要 Linuxでファイルを作成した時などに”No spa …

Linux基礎コマンド(第2回) ls・mkdir・cp・mv

初めてLinuxを触る人向けにTeraTermのログイン方法からコマンドを入力する方法まで数回にわたり解説していきます。本記事はその第2弾です!第1弾の記事はこちら(第1弾)です。 (0)目次&概説 …

  • English (United States)
  • 日本語
Top