Apache を再起動せずに強制終了する必要がある無限ループで実行されている php スクリプトがあります。
リモートデスクトップ経由でサーバーにアクセスできます。お知らせ下さい。
強制終了する実行中のスクリプトを見つけます。
tasklist /v | find "php"
プロセス ID をメモし、次のコマンドで強制終了します。
taskkill /PID 3776
するのと同じ:
ps aux | grep php
kill 3776
やってみました:
Windows タスク マネージャー -> プロセス -> apache ?
そこにあるはずです。プロセスを終了するだけです。
編集 -
apache を殺したくないことがわかりました。
PHPはApacheモジュールとして実行されるため、それが可能かどうかはわかりません。
タスク マネージャで、CPU を 100% 占有する Apache の「フォーク」を探して、それを強制終了します。
これを試すことができます: https://serverfault.com/questions/229435/how-to-break-from-infinite-loop-caused-by-php-script-running-as-root
今後のために、スクリプト用の安全なファイル ロックを確保してください。
while(true) //script loop
{
if(file_exists("STOP")) {
unlink("STOP");
exit;
}
/*Do some work*/
}