【Centos7】Cron上で無限実行しているファイルを停止する

この記事は約2分で読めます。

 

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で無限に実行しているファイルも止まる。

 

 

 

 

コメント

タイトルとURLをコピーしました