kazmax - Linux で自宅サーバー

(CentOS6まで)サービスの起動と停止と状態確認

Linuxでは、service というコマンドを使ってさまざまなサービス・デーモンを起動、停止させることができます。またサービスの状態もserviceコマンドで確認できます。ここでは、serviceコマンドの使い方について説明します。
※ CentOS 6までの説明です。CentOS 7からはランレベルの概念やサービスの自動起動の設定方法が変わっています。

Last Update : 2015年07月03日

(CentOS6まで)サービスの起動と停止と状態確認 項目

  1. service コマンドでサービスの状態を確認する
  2. service コマンドでサービスを起動する
  3. service コマンドでサービスを停止する
  4. service コマンドでサービスを再起動する

1. service コマンドでサービスの状態を確認する

現在のサービスの状態を確認するには、service コマンドを以下のようにして使います。

サービスの状態を確認する 書式

service service_name status

service_name は、サービス名を指定します。

また、以下のようにして、全てのサービスの状態を確認することもできます。

service --status-all

例) httpd サービスの状態を確認する

httpd サービスの状態を確認してみます。

# service httpd status
httpd (pid  2694) を実行中... ← httpd が実行中であることがわかります。

サービスが停止中の場合は、以下のようになります。

# service httpd status
httpd は停止しています ← httpd が停止していることがわかります。

全てのサービスの状態を確認してみます。

# service --status-all
NetworkManager (pid  1646) を実行中...
abrt-ccpp hook is installed
abrt-dump-oops (pid 3209) を実行中...
abrtd (pid  3201) を実行中...
acpid (pid  1752) を実行中...

memo

/etc/init.d/ 配下に、各サービスの起動/停止スクリプト(initスクリプト)が配置されていますが、このファイル名が各サービスのサービス名となります。

例えば、httpd の起動/停止スクリプトは、/etc/init.d/httpd なのでサービス名は、「httpd」
例えば、PostgreSQL の起動/停止スクリプトは、/etc/init.d/postgresql なのでサービス名は、「postgresql」
例えば、MySQLの起動/停止スクリプトは、/etc/init.d/mysqld なのでサービス名は、「mysqld」
となります。

memo

そのサービスの起動/停止スクリプト(initスクリプト)がどれなのかわからない場合は、パッケージの中身を確認するとわかります。

起動/停止スクリプトは、必ず/etc/init.d 配下に配置されるので、rpm パッケージのファイル一覧から確認できます。

# rpm -ql postgresql-server | grep init.d   ← PostgreSQL パッケージのファイル一覧から、「init.d」をgrep
/etc/rc.d/init.d/postgresql ← /etc/init.d 配下に配置されているこのスクリプトが、起動/停止スクリプトということ

2. service コマンドでサービスを起動する

サービスを起動するには、service コマンドを以下のようにして使います。

サービスを起動する 書式

service service_name start

service_name は、サービス名を指定します。

例) httpd サービスを起動する

httpd サービスを起動してみます。

# service httpd start
httpd を起動中:        [  OK  ]  ← httpd が起動されるとOKと表示されます。

3. service コマンドでサービスを停止する

サービスを停止するには、service コマンドを以下のようにして使います。

サービスを停止する 書式

service service_name stop

service_name は、サービス名を指定します。

例) httpd サービスを停止する

httpd サービスを停止してみます。

# service httpd stop
httpd を停止中:        [  OK  ]  ← httpd が停止されるとOKと表示されます。

4. service コマンドでサービスを再起動する

サービスを再起動するには、service コマンドを以下のようにして使います。

サービスを再起動する 書式

service service_name restart

service_name は、サービス名を指定します。

例) httpd サービスを再起動する

httpd サービスを再起動してみます。

# service httpd restart
httpd を停止中:        [  OK  ] 
httpd を起動中:        [  OK  ]  ← httpd 停止後、自動的に起動処理が開始されます。

memo

/etc/init.d/ 配下には、各サービスの起動、停止用のスクリプト(initスクリプト)がおかれています。

service コマンドは、これらの /etc/init.d/ 配下のスクリプトに、service コマンドで指定された引数をつけて実行しているだけです。 なので、以下のようにしても同じようにサービスの起動、停止ができます。

# /etc/init.d/httpd stop ← httpd サービスを停止
httpd を停止中:        [  OK  ] 
# /etc/init.d/httpd start ← httpd サービスを起動
httpd を起動中:        [  OK  ] 
サービスの管理 関連記事
Linux 基礎知識 関連記事