Apacheの起動状況、プロセス数を確認するコマンド

Apacheロゴ

Webシステムで重要な役割を果たすApache HTTP Serverの起動状況を確認することは、WordPressでブログを運営するブロガーや、システム構築を仕事とするSEにとって重要なことです。この記事では、Apacheの起動状況、プロセスの起動状況を確認するコマンドを解説します。



Apache自身が起動中であるか確認するコマンド

Apacheが起動中か停止中かステータスを確認するコマンドです。

# /etc/init.d/httpd status

起動中であるか確認するコマンドの実行例

  [root@]# /etc/init.d/httpd status
  httpd (pid 12429) を実行中…






Apacheのプロセス起動状況を確認

pache自体起動しているかを確認するコマンドの他、「Apacheのプロセス」がいくつ起動させているかなどを確認するコマンドです。

「Apacheのプロセス」とは、1人があなたのサーバにサクセスした際に、その1人のアクセスのリクエスト(このページへジャンプする等)に応えてくれるものです。従って、複数のプロセスが起動されています。

# ps agx | grep httpd

「ps」とは、プロセスを確認するLinuxコマンドです。「agx」はコマンドの引数(ひきすう)と呼ばれ、例えば「a」だと「all」という意味で、「すべてのプロセスを表示しなさい」という命令になります。

その後ろの縦棒は「パイプ」と呼ばれるもので、キーボードは[shift]キーを押しながら「¥」キーを押すとでてきます。
このパイプもコマンドの一種で、「パイプより前で実行したコマンドの結果を、パイプより後ろのコマンドへ引き渡す」ということを実行します。

「grep」とは、ある文字列だけを表示しなさいというコマンドなので、

  grep httpd

だと、「httpdの文字列が付いた行だけ表示」という結果になります。

従って、

  ps agx

で、「すべてのプロセスを表示」した後、

  grep httpd

で、「httpdプロセスだけを抜き出して表示」というコマンドの実行結果となります。

Apacheのプロセス状態確認コマンドの実行例

コマンドを実行すると、Apacheのプロセスである「httpd」が確認できます。

  [root@ ~]# ps agx | grep httpd
  15799 ? Ss 0:00 /usr/sbin/httpd
  15802 ? S 0:00 /usr/sbin/httpd
  15803 ? S 0:01 /usr/sbin/httpd
  15804 ? S 0:01 /usr/sbin/httpd
  15807 ? S 0:01 /usr/sbin/httpd
  15808 ? S 0:01 /usr/sbin/httpd
  15809 ? S 0:01 /usr/sbin/httpd
  15810 ? S 0:02 /usr/sbin/httpd

Apacheのプロセス起動数を確認

Apacheのプロセス数が、現在、いくつ起動しているかカウントするコマンドです。

# ps aux | grep httpd | grep -v “\(root\|grep\)” | wc -l

なお、Apacheのプロセス数は常に変化するので、一定間隔、例えば30秒ごとにコマンドを入力すると、プロセス数に変化が表れる可能性があります。

プロセス起動数を確認コマンドの実行例

「ps ax | grep httpd」コマンドだと、いちいちプロセスの数を数える必要がありますが、このコマンドを利用すると、httpd(Apacheのプロセス)数をカウントした結果のみ表示します。

  [root@]# ps aux | grep httpd | grep -v “\(root\|grep\)” | wc -l
  35
  [root@]# ps aux | grep httpd | grep -v “\(root\|grep\)” | wc -l
  39
  [root@]# ps aux | grep httpd | grep -v “\(root\|grep\)” | wc -l
  42