「XREA PHP 無限ループ set_time_limit(0) 強制終了 kill」でお困りの方へ

ちょっとしたバッチ処理をXREAで走らせたけど、不具合があったり処理が重複してしまったなどで、一旦強制終了したいときがあると思います。普通は数分で処理が停止されますが、set_time_limitなどで無制限にしていた場合などは結構最悪な状態ですね。

ざっくり言うと、XREAにSSHログインして 「ps -aux | grep php」 を叩き、 自分のユーザー名のプロセスID・プロセス名を確認してからkillまたはkillallすればOKです。

SSHとかよくわからない…という方は、以下のコードをアップしてアクセスすると緊急停止します。他のユーザーが読み込み中のページも503エラーとなるので注意しましょう。

<?
// kill.php みたいな名前で保存しサーバへアップロード
// phpの全パージョンは以下で確認することが可能です
// https://www.xrea.com/spec/

foreach (array(
    '/usr/local/bin/php71',
    '/usr/local/bin/php70',
    '/usr/local/bin/php56',
    '/usr/local/bin/php55',
    '/usr/local/bin/php54',
    '/usr/local/bin/php53'
) as $v) { exec('killall -9 '.$v);}