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基礎コマンド(第3回) rm・cat・head・tail

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

CentOS6の日本語入力の設定中に起きた「Unable to keep Input Method running」エラーや文字化けの対処方法について

(0)目次&概説 (1) 記事の目的 (2) 日本語化の対応手順 (3) 各パッケージの補足説明 (4) エラー対処:IBusの”Unable to keep Input Method R …

Tomcatのサービスが起動しない場合の想定原因と対処(Linux系OSの例)

<目次> (1) Tomcatのサービスが起動しない場合の想定原因と対処(Linux系OSの例)  (1-1) 発生状況・エラーメッセージ  (1-2) 原因  (1-3) 対処法 (1) Tomca …

C++をLinuxでコンパイルする方法について

  <目次> (1) C++をLinuxでコンパイルする方法について  (1-1) STEP0:【事前準備】ターミナル機能の準備(ターミナル、Teraterm、Putty)  (1-2) S …

Linuxの「inode」とは?概要や確認方法をご紹介

  <目次> (1) Linuxの「inode」とは?概要や確認方法をご紹介  (1-1) Linuxの「inode」の概要  (1-2) 「inode」の確認方法  (1-3) 「inod …

  • English (United States)
  • 日本語
Top