Wie kann ich einen Cron-Job stoppen, der gerade ausgeführt wird?
Wie kann ich einen Cron-Job stoppen, der gerade ausgeführt wird?
Antworten:
Sie können dies genauso tun, wie Sie jeden Prozess stoppen würden.
cron
Sie haben folgende Möglichkeiten, um einen aktuell ausgeführten Job zu stoppen :
pkill process-name
oder wenn Sie die PID kennen (Sie können sie durch Ausführen ermitteln ps
):
kill 1234
(Ersetzen der tatsächlichen PID)
pgrep
oder grep
die Ausgabe von verwenden ps
. Ein Prozess, von dem aus er ausgeführt wird, hat nichts Besonderes cron
. Sie würden nur unter einem eigenen Namen nach dem Prozess suchen. Sie können auch tun, ps fauxww | grep -A 1 '[C]RON'
und Zeilen unterhalb der Zeile (n) zeigen Jobs an, die von ausgeführt werden cron
. Sie können die Zahl 1 höher einstellen, um ggf. Unterprozesse anzuzeigen.
ps fauxww | grep -A 1 '[C]RON'
. Hier werden die aktuellen Cron-Jobs aufgelistet, die ausgeführt werden. Anschließend können Sie die PID notieren und ausführen # kill -9 PID
. Vielen Dank!
-9
sollte nur als letzter Ausweg verwendet werden, da dadurch verhindert wird, dass der Prozess beim Beenden bereinigt wird.
So beenden Sie die Ausführung von cron job. Rufen Sie zunächst die Prozess-ID Ihres Befehls mit ab
top -p $(pgrep -d',' your_command)
z.B:-
top -p $(pgrep -d',' httpd)
und Renn
kill PID
durch PID
Prozess-ID ersetzen
Seltsamerweise hat niemand diese Methode erwähnt:
$ crontab -e
Löschen Sie im geöffneten Editor die Zeile der Aufgabe, die Sie stoppen möchten, oder fügen Sie ein #
Zeichen ein, speichern Sie und beenden Sie sie
z.B
Vor
* * * * * some_script1
* * * * * some_script2
nach
* * * * * some_script1
#* * * * * some_script2
oder
* * * * * some_script1
Starten Sie den Dienst neu, nachdem Sie Änderungen von vorgenommen haben
sudo service cron reload
Wenn Sie Redhat (RHEL) / Fedora Core / Cent OS Linux verwenden, verwenden Sie den folgenden Befehl:
/etc/init.d/crond stop
Wenn Sie Debian oder Ubuntu Linux verwenden, geben Sie den folgenden Befehl ein:
/etc/init.d/cron stop
PS: Sie sollten root sein, um diese Dinge zu tun
Geben Sie zunächst ein, um ps aux
zu sehen, welche Prozesse ausgeführt werden.
Notieren Sie sich dann die PID
Vorgänge, die Sie anhalten möchten
Dann tippe
kill {PID
} für jeden Prozess.
Schauen Sie sich auch diese Links an (Superuser-Links):
Sie können die Cron-Tabelle bearbeiten und die betreffende Aufgabe auskommentieren. Wechseln Sie zu dem Benutzer, der die Aufgabe steuert, exportieren Sie den gewünschten Editor in die Umgebung und verwenden Sie dann crontab -l
:
$ su - root
...
# EDITOR=vi; export EDITOR
# crontab -l
crontab -e
zu bearbeiten es. Für Systeme, die es haben, ist es vorzuziehen, sudo
anstelle von zu verwenden su
. Auch crontab -e
würde für den Benutzer (oder root) Crontab arbeiten, aber nicht das System Crontab (zB /etc/cron*
).