(CentOS6まで)サービスの起動と停止と状態確認
Linuxでは、service というコマンドを使ってさまざまなサービス・デーモンを起動、停止させることができます。またサービスの状態もserviceコマンドで確認できます。ここでは、serviceコマンドの使い方について説明します。
※ CentOS 6までの説明です。CentOS 7からはランレベルの概念やサービスの自動起動の設定方法が変わっています。
Last Update : 2015年07月03日
(CentOS6まで)サービスの起動と停止と状態確認 項目
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 ]