ファイルに書き込まれたPHPプロセスを見つける

ファイルに書き込まれたPHPプロセスを見つける

ブラウザを介してPHPスクリプトを起動しましたが、ループエラーのためブラウザを閉じた後でもスクリプトは実行され続けます。スクリプトが私のログファイル(パスを知っている)にエラーメッセージを記録したので、これを見つけました。

私たちは多くの開発者とユーザーが使用するApacheサーバーを持っていますnmdev。では、どのプロセスが実行されていて、ログファイルに書き込まれるのか、どうすればわかりますか?

ps -afe | grep php53今日、次のような多くのプロセスを提供しました。

nmdev 26518 24151 0 11:51 ? 00:00:00 /opt/xxx/yyy/apache-php5/bin/httpd -k start

答え1

私の問題に対する解決策は、次を使用することです。

/sbin/fuser /path/to/logfile

これにより、ファイルに書き込むすべてのプロセスが提供されます。私はそれらすべてを慈悲なく殺しました。問題が解決しました。

答え2

lsof以下を使用して、ファイルにアクセスするプロセスのPIDを見つけることができます。

[rhusar@rhusar ~]$ ps xafu | grep cat
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
cat     5700 rhusar    1w   REG   0,29       57 13154551 /tmp/abc

ただし、HTTPd自体を介してログを記録する場合は、HTTPdインスタンスのPIDのみを見ることができるようです。

関連情報