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

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

関連記事

scpコマンドを使った異なるLinuxサーバ間のファイル転送の方法

異なるLinuxサーバ間(サーバA⇔サーバB)でファイルを転送する方法について書きます。 (0)目次&概説 >(1) 転送コマンドの構文 >(2) 転送コマンドの実行  >(2-1) 転送元の転送前( …

GDBの使い方をC++のプログラムのデバッグを例にご紹介

  <目次> (1) GDBの使い方をC++のプログラムのデバッグを例にご紹介  (1-1) GDBのデバッグのシナリオ概要(例)  (1-2) GDBのデバッグ手順(例)  (1-3) そ …

VNC ServerとGNOMEデスクトップの概念や基本的な仕組みについて

(0)目次&概説 (1) 記事の目的・概要 (2) アーキテクチャ  (2-1) VNC Serverとは?  (2-2) Graphical Desktop Environmentとは?  (2-3 …

Linuxで環境変数を永続化させる方法と手順について

<目次> (1) Linuxで環境変数を永続化させる方法と手順について  (1-1) 実現方法  (1-2) 設定手順 (1) Linuxで環境変数を永続化させる方法と手順について Linuxにおいて …

CloudLinuxとは?CentOSとの違いも交えてご紹介

<目次> (1) CloudLinuxとは?CentOSとの違いも交えてご紹介  (1-1) CloudLinuxとは?  (1-2) CloudLinuxのメリット・デメリット  (1-3) Clo …

  • English (United States)
  • 日本語
Top