Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >So beenden Sie einen Prozess unter Linux
SMX 1822 1 0 11:38? 00 :00:49 gnome-terminal
smx 1823 1822 0 11:38 ? 00:00:00 gnome-pty-helper
smx 1824 1822 0 11:38 pts/0 00:00:02 b ash
smx 1827 1 4 11: 38 ? 00:26:28 /usr/lib/firefox-3.6.18/firefox-bin
smx 1857 1822 0 11:38 pts/1 00:00:00 bash
smx 1880 1619 0 11:38 ? 00:00 ;
smx 1822 0,1 0,8 58484 18152 ? sl 11:38 0:49 gnome-pty-helper
smx 1824 0,0 0,1 6820 3776 pts/0 ss 11:38 0:02 bash
smx 1827 4,3 5,8 398196 119568 ? sl 11:38 26:13 /usr/lib/firefox-3.6.18/firefox-bin
smx 1880 0,0 0,6 41536 12620 ? s 11:38 0:00 update-notifier
…
zu diesem Zeitpunkt Wenn ich den Firefox-Prozess beenden möchte, geben Sie einfach das Terminal ein:
Code kopieren Der Code lautet wie folgt:
$ kill -s 9 1827
wobei -s 9 gibt an, dass das an den Prozess übergebene Signal 9 ist, also erzwungen wird, den Prozess so schnell wie möglich zu beenden. Informationen zu den einzelnen Abschlusssignalen und ihren Funktionen finden Sie im Anhang.
1827 ist die PID von Firefox, die ps oben gefunden hat.
Es ist einfach, aber es gibt ein Problem. Wenn es zu viele Prozesse gibt, ist es jedes Mal schmerzhaft Den zu tötenden Prozess in einer großen Liste von Prozessinformationen zu finden, ist schwindelerregend.
Erweitert:
Diesmal ist es erfrischend. Dann
Kopieren Sie den Code. Der Code lautet wie folgt: $kill -s 9 1827
Verbesserung 2 – Verwenden Sie pgrep:
Woran denken Sie zuerst, wenn Sie pgrep sehen? Genau, grep! Das p von pgrep gibt an, dass dieser Befehl grep speziell für Prozessabfragen ist.
Code kopieren Der Code lautet wie folgt:
$ pgrep firefox
1827
Kopieren Sie den Code. Der Code lautet wie folgt:
$kill -s 9 1827
Ob Sie ps verwenden und dann langsam die Prozess-PID finden oder grep verwenden, um den Prozess zu finden, der den enthält entsprechende Zeichenfolge, oder verwenden Sie pgrep, um direkt den Prozess zu finden, der es enthält. Es ist etwas mühsam, die Prozess-PID der entsprechenden Zeichenfolge einzugeben und sie dann manuell einzugeben, damit Kill zum Töten führt. Gibt es einen bequemeren Weg? haben!
Verbesserung 4:
Code kopieren Der Code lautet wie folgt:
Die Ausgabe von „grep firefox“ sind alle Prozesse, die das Schlüsselwort „firefox“ enthalten.
„grep -v grep“ dient dazu, den Prozess, der das Schlüsselwort „grep“ enthält, aus den aufgelisteten Prozessen zu entfernen.
„cut -c 9-15“ fängt das 9. bis 15. Zeichen der Eingabezeile ab, bei dem es sich zufällig um die Prozessnummer-PID handelt.
Der Befehl xargs in „xargs kill -s 9“ wird verwendet, um das Ausgabeergebnis (PID) des vorherigen Befehls als Parameter des Befehls „kill -s 9“ zu verwenden und den Befehl auszuführen. „kill -s 9“ beendet den angegebenen Prozess gewaltsam.
Wollen Sie sich nicht über etwas beschweren? Genau, es ist zu lang
Verbesserung 5:
Wenn Sie die beiden Befehle pgrep und pidof kennen, warum müssen Sie dann eine so lange Zeichenfolge eingeben?
Code kopieren Der Code lautet wie folgt:
$ pgrep firefox |. 🎜🎜#
$ ps -ef |. awk '{print $2}' |. Es gibt einen ziemlich deprimierenden Punkt: Der Prozess wurde korrekt gefunden und beendet, aber nach der Ausführung wird angezeigt, dass der Prozess nicht gefunden werden kann.
Die Funktion von awk '{print $2}' besteht darin, den Inhalt der zweiten Spalte auszudrucken. Gemäß dem allgemeinen Artikel können Sie wissen, dass die von ps ausgegebene zweite Spalte genau PID ist. Übergeben Sie die entsprechende PID des zu tötenden Prozesses als Parameter über xargs und beenden Sie den entsprechenden Prozess.
Verbesserung 7:
Müssen wir jedes Mal xargs aufrufen, um die PID zum Töten zu übergeben? Die Antwort ist nein:
Verbesserung 8:
Code kopieren Der Code lautet wie folgt:
Verbesserung 9—— pkill:
Code kopieren Der Code lautet wie folgt:
Anleitung: "-9 " wird gesendet. Das Signal ist 9. Der Unterschied zwischen pkill und kill besteht darin, dass pkill kein „s“ benötigt und der Abschlusssignalpegel direkt auf „-“ folgt. Ich dachte immer, es wäre „-s 9“, aber der Prozess konnte nicht jedes Mal beendet werden, wenn ich ihn ausführte.
Das obige ist der detaillierte Inhalt vonSo beenden Sie einen Prozess unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!