ウェブサーバーでPHPスクリプトを実行していると、時にはプロセスの状態を確認して監視する必要があります。
特にサーバーの負荷が高くなる場合や不具合が発生する場合にプロセスを監視することで、問題の特定と解決が迅速に行えます。
この記事では、PHPプロセスの確認方法について詳しく説明します。
プロセスリストの確認
まず、プロセスリストを確認するためにLinuxの標準コマンドであるpsを使用する方法をご紹介します。
$ ps aux | grep php
このコマンドでは、全てのアクティブなプロセスの一覧を表示し、その中から”php”という文字列を含むプロセスのみを抽出します。
詳細なプロセス情報の取得
psコマンドではプロセスの基本情報しか確認できませんが、topコマンドを使用することでリアルタイムの詳細な情報を確認できます。
$ top
topコマンドを実行後、Shift + Lを押すことで、表示される列の中から”COMMAND”列をベースにフィルタリングすることができます。
これにより、PHPプロセスが容易に見つかります。
プロセスの詳細情報を取得するためのpgrepコマンド
特定のプロセスIDを迅速に取得したい場合は、pgrepコマンドを利用すると便利です。
$ pgrep -fl php
-fオプションでフルコマンドラインの一致を、-lオプションでプロセスIDとそのコマンド名を表示します。
プロセスの監視とその自動化
これまで紹介したコマンドを組み合わせてシェルスクリプトを作成し、定期的な監視を自動化することが可能です。
クーロンジョブとして設定することで、一定間隔ごとにPHPプロセスの状態をチェックできます。
#!/bin/bash
ps aux | grep php > /var/log/php_process.log
上記スクリプトは、PHPプロセスのリストをログファイルに保存します。
これをクーロンジョブに設定する方法も簡単です。
$ crontab -e
* * * * * /path/to/your/script.sh
この例では、毎分スクリプトが実行されます。
まとめ

PHPプロセスを監視することで、サーバーのパフォーマンスを最適化し、トラブルの発生を未然に防ぐことができます。
この記事で紹介したps、top、pgrepコマンドを駆使して、効率的に監視しましょう。
また、シェルスクリプトを利用して監視作業を自動化することで、運用効率を向上させることが可能です。
以上、PHPプロセスの確認方法についてでした。
最後までお読みいただき、ありがとうございました。

