Die folgenden drei Antworten interpretieren diese Frage auf drei Arten. @GURU, könnten Sie bitte klarstellen, was Sie tun möchten? Möchten Sie einen Prozess beenden, der von Cron gestartet wurde, der gerade ausgeführt wird, oder möchten Sie die Ausführung des Jobs in Zukunft verhindern?
Crawfordor
Antworten:
29
Sie können dies genauso tun, wie Sie jeden Prozess stoppen würden.
cronSie 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):
wie liste ich die aktuell laufenden cron jobs auf?
UWU_SANDUN
5
@UWU_SANDUN: Sie können pgrepoder grepdie 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.
Dennis Williamson
Beachten Sie, dass Sie cygwin als Administrator ausführen müssen, um Prozesse abzubrechen. Weitere Informationen dazu finden Sie hier .
takanuva15
Mit Ubuntu ich getippt , was @ takanuva15 vorgeschlagen, 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!
Russellhoff
@russellhoff: -9sollte nur als letzter Ausweg verwendet werden, da dadurch verhindert wird, dass der Prozess beim Beenden bereinigt wird.
Dennis Williamson
17
So beenden Sie die Ausführung von cron job. Rufen Sie zunächst die Prozess-ID Ihres Befehls mit ab
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:
Das listet die Crontab auf. Verwenden Sie crontab -ezu bearbeiten es. Für Systeme, die es haben, ist es vorzuziehen, sudoanstelle von zu verwenden su. Auch crontab -ewürde für den Benutzer (oder root) Crontab arbeiten, aber nicht das System Crontab (zB /etc/cron*).
Dennis Williamson
1
crontab -r
würde alle Crontabs entfernen, die ausgeführt werden, oder Sie können einfach die Befehle in der Crontab kommentieren, die gestoppt werden müssen.
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 :oder wenn Sie die PID kennen (Sie können sie durch Ausführen ermitteln
ps
):(Ersetzen der tatsächlichen PID)
quelle
pgrep
odergrep
die Ausgabe von verwendenps
. Ein Prozess, von dem aus er ausgeführt wird, hat nichts Besonderescron
. 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 werdencron
. 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
durchPID
Prozess-ID ersetzenquelle
Seltsamerweise hat niemand diese Methode erwähnt:
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 siez.B
Vor
nach
oder
Starten Sie den Dienst neu, nachdem Sie Änderungen von vorgenommen haben
quelle
Wenn Sie Redhat (RHEL) / Fedora Core / Cent OS Linux verwenden, verwenden Sie den folgenden Befehl:
Wenn Sie Debian oder Ubuntu Linux verwenden, geben Sie den folgenden Befehl ein:
PS: Sie sollten root sein, um diese Dinge zu tun
quelle
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öchtenDann tippe
kill {PID
} für jeden Prozess.Schauen Sie sich auch diese Links an (Superuser-Links):
Stellen Sie sicher, dass ein Cron-Job abgeschlossen wurde
ps-aux-output-meaning
quelle
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
:quelle
crontab -e
zu bearbeiten es. Für Systeme, die es haben, ist es vorzuziehen,sudo
anstelle von zu verwendensu
. Auchcrontab -e
würde für den Benutzer (oder root) Crontab arbeiten, aber nicht das System Crontab (zB/etc/cron*
).crontab -r
würde alle Crontabs entfernen, die ausgeführt werden, oder Sie können einfach die Befehle in der Crontab kommentieren, die gestoppt werden müssen.
quelle
Überprüfen Sie zunächst den Arbeitsprozess mit diesem Befehl.
Die Ausgabe dieses Befehls ist
und jetzt beenden Sie den Prozess mit diesem Befehl
quelle
Ich arbeite für Linux
Beendet alle Prozesse mit dem Prozessnamen crontab
quelle