service

<概要>

機能 サービス(デーモン)の起動・再起動・停止・状態取得などを実行する
書式 service < option > | –status-all | [ service_name [ command | –full-restart ] ]

「CentOS 6.6 初期設定その1」の記事で登場しているが、CentOSの各種サービス(デーモン)の起動や停止、再起動、状態取得といった事ができるコマンド。
基本的には、”/etc/init.d”に設置されている起動スクリプトを実行するが、”/etc/init.d”のスクリプトを直接ターミナルから起動するのと、serviceコマンドを経由して起動した場合には挙動が違うこともあり、serviceコマンドを使用するのが推奨されている。
両者の違いは、以下のサイト参照。簡単に言うと、コマンドを実行しようとしているユーザーの環境変数を引き継ぐかどうか。
「serviceコマンドと/etc/init.dの違い」

<オプション>

オプション 説明
–status-all 登録されているサービス(デーモン)の状態をすべて表示する。
実行中のサービス(デーモン)については、プロセスIDも表示される。
service_name このコマンドで処理するサービス(デーモン)の名称
command 起動、停止、再起動、状態取得等のコマンドを記述。
指定するコマンド名は、”/etc/init.d”に設置されている起動スクリプトに従うが、基本的には以下のパターン。

  • start : 起動
  • stop : 停止
  • restart : 再起動
  • status : 状態取得
-h
–help
ヘルプを表示して終了
–version バージョン情報を表示して終了

<使用例>

1.–status-all オプションを使って、全サービス(デーモン)の状態を表示

[root@localhost ~]# service --status-all
auditd (pid  924) を実行中...
crond (pid  1060) を実行中...
ip6tables: ファイアウォールは稼働していません。
テーブル: filter
Chain INPUT (policy ACCEPT)
(中略)
rsyslogd (pid  1709) を実行中...
sandbox is stopped
saslauthd は停止しています
openssh-daemon (pid  11159) を実行中...

2.特定のサービスを操作(例では”crond”サービスを例示)

[root@localhost ~]# service crond status
crond (pid  1060) を実行中...

[root@localhost ~]# service crond stop
crond を停止中:                                            [  OK  ]

[root@localhost ~]# service crond start
crond を起動中:                                            [  OK  ]

[root@localhost ~]# service crond restart
crond を停止中:                                            [  OK  ]
crond を起動中:                                            [  OK  ]

よくお世話になるのは、2のサービスの起動や終了だろうか。
特にWebサーバーを管理していると、設定を変更するたびに、apacheのサービスを再起動するケースも多々あるので、この場合にはserviceコマンドのお世話になることになる。

コメント

タイトルとURLをコピーしました