現在実行中のcronジョブを停止する方法は?


45

現在実行中のcronジョブを停止するにはどうすればよいですか?


2
以下の3つの回答は、この質問を3つの方法で解釈します。@GURU、やりたいことを明確にしてください。現在実行中のcronによって開始されたプロセスを強制終了しますか、それとも将来実行されるジョブを禁止しますか?
jcrawfordor

回答:


29

これは、プロセスを停止するのと同じ方法で実行できます。

現在実行中のcronジョブを停止するには、次のいずれかを実行できます。

pkill process-name

または、PIDがわかっている場合(を実行して確認できますps):

kill 1234

(実際のPIDを置き換える)


1
現在実行中のcronジョブをリストする方法は?
UWU_SANDUN

5
@UWU_SANDUN:pgrepまたはgrepの出力を使用できますps。から実行されるプロセスについて特別なことはありませんcron。独自の名前でプロセスを検索するだけです。行うこともできps fauxww | grep -A 1 '[C]RON'、線の下の線はによって実行されているジョブを表示しcronます。サブプロセスがある場合は、1を大きく調整して表示できます。
デニスウィリアムソン

プロセスを強制終了するには、管理者としてcygwinを実行している必要があります。詳細については、こちらをご覧ください。
takanuva15

Ubuntuを使用して、@ takanuva15が提案した内容を入力しましたps fauxww | grep -A 1 '[C]RON'。実行中の現在のcronジョブが一覧表示されるため、その後PIDを書き留めて実行でき# kill -9 PIDます。ありがとう!
ラッセルホフ

@russellhoff:-9プロセスが終了時にクリーンアップを実行できないようにするため、最後の手段としてのみ使用してください。
デニスウィリアムソン

17

cronジョブの実行を停止するには、まずコマンドのプロセスIDを取得します

top -p $(pgrep -d',' your_command)

例えば:-

top -p $(pgrep -d',' httpd)

そして走る

kill PIDPIDプロセスIDに置き換えます


14

奇妙なことに、誰もこの方法に言及していません。

$ crontab -e

開いたエディターで、停止するタスクの行を削除するか、#サインを挿入し、保存して終了します

例えば

* * * * * some_script1
* * * * * some_script2

* * * * * some_script1
#* * * * * some_script2

または

* * * * * some_script1

変更を行った後、サービスを再起動します

sudo service cron reload

16
これは、現在実行中のcronジョブを停止するのではなく、cronによって起動される将来のcronジョブを停止します。
イヴァン

10

Redhat(RHEL)/ Fedora Core / Cent OS Linuxを使用している場合は、次のコマンドを使用します。

/etc/init.d/crond stop

DebianまたはUbuntu Linuxを使用している場合、次のコマンド:

/etc/init.d/cron stop

PS:あなたはこれらのことをするためにルートでなければなりません


2
私はそれがすべてcrons .TO停止特定のcronを停止すると思う私は、コマンドを知っているかもしれない

コマンドを提案することができます

私はそれがまっすぐな方法で可能だとは思わない。
セン


3

cronテーブルを編集して、問題のタスクをコメント化できます。タスクを制御するユーザ、そして使用し、環境に好みのエディタをエクスポートへの切り替えcrontab -l

$ su - root
...
# EDITOR=vi; export EDITOR
# crontab -l

1
crontabがリストされます。crontab -e編集に使用します。それがあるシステムでは、のsudo代わりに使用することが望ましいですsu。また、crontab -eユーザー(またはルート)crontabでは機能しますが、システムcrontabでは機能しません(例:)/etc/cron*
デニスウィリアムソン

1

crontab -r

実行中のすべてのcrontabを削除します。または、停止する必要のあるcrontab内のコマンドを単にコメントすることができます。


0

まず、このコマンドを使用して作業プロセスを確認します。

ps -o pid,sess,cmd afx | egrep "( |/)cron( -f)?$"

このコマンドの出力は

599  599 cron
4288  599 \_ CRON

そして、このコマンドでプロセスを強制終了します

pkill -s 4288

0

Linuxでの作業

pkill -9 crontab

プロセス名crontabを持つすべてのプロセスを強制終了します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.