cronで一定時間ごとに定期実行するのではなく、while文とかで一度実行したら、エラーを吐くまで無限にループするようにしているファイルがある場合、当たり前だがcrontab - e
なんかでを編集して、そのファイルの部分を削除しても、ファイルは止まらずに動き続ける。それを止める方法は主に2つ
①サーバーをreboot(再起動)する
最終手段だが、同じサーバーで他にも違うプロセスを運用している場合は、支障が出るかもしれないので、あまり使いたくない。
② ファイル実行プロセスをkillコマンドで止める
恐らくこれが無難。まずは$ps -aux
でサーバー内で現在実行されているプロセス一覧を確認する。↓のような画面
ここからお目当てのファイルが実行されているプロセスIDを確認する。プロセスIDは上記画像の左から2番目の列の番号のこと。
プロセスIDを確認したら、それをkillコマンドで停止させる。
# プロセスを停止する $sudo kill -9 プロセスID 例)sudo kill -9 863
③cronを再起動する
linuxの種類ごとに微妙にコマンドが違うので割愛
これでcronで無限に実行しているファイルも止まる。
コメント
[…] 関連記事:【Centos7】Cron上で無限実行しているファイルを停止する […]