サービス(デーモン)の起動・再起動・停止・状態取得・serviceコマンド

serviceコマンドを利用することにより、サービス(デーモン)の起動・再起動・停止・状態取得などを実行することができます。
本資料では、CentOS, Ubuntuを使って確認しました。


スポンサーリンク

serviceコマンドの使いかた

serviceコマンドは以下のような使いかたになります。

service スクリプト コマンド オプション

スクリプトとは、/etc/init.d/にあるスクリプト名になります。

以下のように、サービス(デーモン)のスクリプトがあります。
$ ls /etc/init.d/
NetworkManager      hidd           netconsole       setroubleshoot
acpid               hplip          netfs            single
anacron             hsqldb         netplugd         smartd
atd                 httpd          network          smb
auditd              ip6tables      nfs              squid
autofs              ipmi           nfslock          sshd
 :
 :

serviceコマンドの使用例(httpd)

今回はApache(httpd)の起動・再起動・停止・状態取得をしてみます。

/etc/init.dのスクリプトで起動・再起動・停止・状態取得をしてみる

/etc/init.dのスクリプトでも同様のことができます。
以下、Apache(httpd)の起動・再起動・停止・状態取得をしてみます。

serviceコマンドと/etc/init.dの違い

serviceコマンドはシェルスクリプトで作成されています。

serviceコマンドを確認したところ、以下の処理がありました。

env -i LANG="$LANG" PATH="$PATH" TERM="$TERM"  ...

env -i により環境を引き継がず、LANG, PATH, TERMのみ環境変数を引き継ぐようになっています。
man envの-iオプションの抜粋です。

オプション
       -, -i, --ignore-environment
              継承された環境を無視して、空の環境から始める。

したがって、/etc/init.d/サービス名(スクリプト) コマンドとserviceコマンドの違いは、環境変数を継承するか、継承しないかの違いがあります。


スポンサーリンク


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-03-08 (土) 17:17:11