私は PHP スクリプトを 1 週間実行しています。これは、多数の計算処理を行っているためです。多くの作業を行っているだけで、ハングしていません。問題は、どこに到達したのかわからないため、1 時間または 1 か月で終了するかどうかわからないことです。(はい、教えてくれるようにそこに何かを入れるべきでしたが、今では遅すぎます。)
スクリプトが何をしているかを知る方法はありますか? それとも、現在の状態から変数を抽出するには?
私は PHP スクリプトを 1 週間実行しています。これは、多数の計算処理を行っているためです。多くの作業を行っているだけで、ハングしていません。問題は、どこに到達したのかわからないため、1 時間または 1 か月で終了するかどうかわからないことです。(はい、教えてくれるようにそこに何かを入れるべきでしたが、今では遅すぎます。)
スクリプトが何をしているかを知る方法はありますか? それとも、現在の状態から変数を抽出するには?
Windows では、Microsoft のprocmon.exeで php.exe の動作を確認できます。変数などに関する完全なフィードバックは得られませんが、ファイルシステム操作 (php が頻繁に行う操作) を確認できます。PHP には、いくつかの内部関数が追加の .exe として保存されています。PHP呼び出しがそれらであるかどうかは、procmonで確認できます...
スクリプトが今までにタスクを完了したことを願っています。一般的なガイドとして、Linux では、top コマンドを使用して、システムで実行されているプロセスで何が起こっているかを確認します。実行中のすべてのプロセスのウィンドウが表示されます。
単一のプロセスに集中するには、ps コマンドでその PID (プロセス ID) を取得できます。したがって、次を実行できます。
$ ps -e
このコマンドは、4 列の出力を提供します。左の列は PID で、右の列はスクリプト名です。右側の列にスクリプト名があり、その PID が 3468 であることを確認するとします。
$ トップ -p 3468
定期的に更新されるトップ ウィンドウが表示されます。そこでさまざまな種類の情報を選択できます。通常、最初に %CPU と VIRT を確認します。VIRT 列が常に増加している場合は、スクリプトでのメモリ リークのほぼ明確な兆候であるため、便利です。
または、htop を使用して、選択したプロセスを強調表示することもできます (システムにインストールされている場合)。