Meistens möchten Sie, dass ein Programm auf seine eigene Weise endet, oder, wenn es sich um eine grafische Anwendung handelt, die entsprechende Menüoption oder das Kreuz in der Ecke verwendet wird.
Hin und wieder hängt ein Programm. In diesem Fall benötigen Sie eine Methode, um es zu töten. Möglicherweise möchten Sie auch ein Programm beenden, das im Hintergrund ausgeführt wird und nicht mehr ausgeführt werden muss.
Dieses Handbuch bietet eine Methode zum Beenden aller Versionen der gleichen Anwendung, die auf Ihrem System ausgeführt werden.
So verwenden Sie den Befehl killall
Der Befehl killall beendet alle Prozesse nach Namen. Das bedeutet, wenn Sie drei Versionen desselben Programms ausführen, wird der Befehl killall alle drei zum Abbruch bringen.
Öffnen Sie beispielsweise ein kleines Programm wie einen Bildbetrachter. Öffnen Sie nun eine weitere Kopie desselben Bildbetrachters. Für mein Beispiel habe ich Xviewer gewählt, einen Klon von Eye Of Gnome.
Öffnen Sie nun ein Terminal und geben Sie den folgenden Befehl ein:
alle töten
Um beispielsweise alle Instanzen von Xviewer zu beenden, geben Sie Folgendes ein:
Killall Xviewer
Beide Instanzen des Programms, das Sie zum Beenden ausgewählt haben, werden jetzt geschlossen.
Töte den genauen Prozess
killall kann zu seltsamen Ergebnissen führen. Nun, das ist ein Grund warum. Wenn Sie einen Befehlsnamen haben, der länger als 15 Zeichen ist, funktioniert der Killall-Befehl nur für die ersten 15 Zeichen. Wenn Sie also zwei Programme mit den gleichen ersten 15 Zeichen haben, werden beide Programme abgebrochen, obwohl Sie nur eines davon beenden wollten.
Um dies zu umgehen, können Sie den folgenden Schalter angeben, der nur Dateien löscht, die dem exakten Namen entsprechen.
Killall -e
Fall ignorieren, wenn Programme beendet werden
Um sicherzustellen, dass der Befehl killall den von Ihnen angegebenen Programmnamen ignoriert, verwenden Sie den folgenden Befehl:
Killall -I
killall --ignore-case
Beenden Sie alle Programme in derselben Gruppe
Wenn Sie einen Befehl wie den folgenden ausführen, werden zwei Prozesse erstellt:
ps -ef | Weniger
Ein Befehl ist für den Teil ps -ef, der alle laufenden Prozesse auf Ihrem System auflistet und die Ausgabe an den less-Befehl übergeben wird.
Beide Programme gehören zu derselben Gruppe, die bash ist.
Um beide Programme gleichzeitig zu beenden, können Sie den folgenden Befehl ausführen:
killall -g
Um beispielsweise alle Befehle zu beenden, die in einer Bash-Shell ausgeführt werden, führen Sie Folgendes aus:
Killall -g Bash
Um alle laufenden Gruppen aufzulisten, führen Sie den folgenden Befehl aus:
ps -g
Erhalten Sie eine Bestätigung, bevor Sie Programme beenden
Offensichtlich ist der Befehl Killall ein sehr mächtiger Befehl, und Sie möchten nicht versehentlich falsche Prozesse beenden.
Mit dem folgenden Schalter werden Sie gefragt, ob Sie sicher sind, bevor die einzelnen Prozesse abgebrochen werden.
Killall -i
Töten Sie Prozesse, die seit einiger Zeit laufen
Stellen Sie sich vor, Sie haben ein Programm ausgeführt und es dauert viel länger, als Sie es sich erhofft hatten.
Sie können den Befehl auf folgende Weise beenden:
killall -o h4
Das h im obigen Befehl steht für Stunden.
Sie können auch eine der folgenden Optionen angeben:
- s - Sekunden
- m - Minuten
- h - Stunden
- d - Tage
- w - Wochen
- M - Monate
- Jahre -
Wenn Sie Befehle abbrechen möchten, die gerade erst gestartet wurden, können Sie die folgende Option verwenden:
killall -y h4
Der Befehl killall beendet diesmal alle Programme, die weniger als 4 Stunden laufen.
Sagen Sie mir nicht, wenn ein Prozess nicht beendet ist
Wenn Sie versuchen, ein nicht laufendes Programm zu beenden, wird standardmäßig folgende Fehlermeldung angezeigt:
Programmname: kein Prozess gefunden
Wenn Sie nicht informiert werden möchten, wenn der Prozess nicht gefunden wurde, verwenden Sie den folgenden Befehl:
killall -q
Reguläre Ausdrücke verwenden
Anstatt den Namen eines Programms oder Befehls anzugeben, können Sie einen regulären Ausdruck angeben, sodass alle Prozesse, die dem regulären Ausdruck entsprechen, vom Befehl killall geschlossen werden.
Verwenden Sie den folgenden Befehl, um einen regulären Ausdruck zu verwenden:
killall -r
Beenden Sie Programme für einen bestimmten Benutzer
Wenn Sie ein Programm beenden möchten, das von einem bestimmten Benutzer ausgeführt wird, können Sie den folgenden Befehl angeben:
killall -u
Wenn Sie alle Prozesse für einen bestimmten Benutzer beenden möchten, können Sie den Programmnamen weglassen.
Warten Sie, bis Killall fertig ist
Standardmäßig kehrt killall direkt zum Terminal zurück, wenn Sie es ausführen. Sie können killall jedoch warten, bis alle angegebenen Prozesse geschlossen sind, bevor Sie zum Terminalfenster zurückkehren.
Führen Sie dazu den folgenden Befehl aus:
killall -w
Wenn das Programm niemals stirbt, wird Killall auch weiterleben.
Signale Signale Signale
Standardmäßig sendet der Befehl killall das SIGTERM-Signal an Programme, damit diese geschlossen werden. Dies ist die sauberste Methode zum Löschen von Programmen.
Es gibt jedoch noch andere Signale, die Sie mit dem Befehl killall senden können, und Sie können sie mit dem folgenden Befehl auflisten:
killall -l
Die zurückgegebene Liste sieht etwa so aus:
- HUP
- INT
- VERLASSEN
- KRANK
- FALLE
- ABRT
- IOT
- BUS
- FPE
- TÖTEN
- USR1
- SEGV
- USR2
- ROHR
- ALRM
- BEGRIFF
- STKFLT
- CHLD
- CONT
- HALT
- TSTP
- TTIN
- TTOU
- URG
- XCPU
- XFSZ
- VTALRM
- PROG
- WYNCH
- IO
- PWR
- SYS
- UNGEBRAUCHT
Diese Liste ist extrem lang. Um zu lesen, was diese Signale bedeuten, führen Sie den folgenden Befehl aus:
Mann 7 Signal
Im Allgemeinen sollten Sie die standardmäßige SIGTERM-Option verwenden. Wenn das Programm jedoch nicht stirbt, können Sie SIGKILL verwenden, wodurch das Programm zwangsweise geschlossen wird.
Andere Möglichkeiten, ein Programm zu töten
Es gibt fünf weitere Möglichkeiten, eine Linux-Anwendung zu beenden, wie im verknüpften Handbuch hervorgehoben.
Um Ihnen den Aufwand beim Klicken auf den Link zu ersparen, finden Sie jedoch einen Abschnitt, in dem die Befehle aufgeführt werden, weshalb Sie diese Befehle möglicherweise über killall verwenden.
Der erste ist der Killbefehl. Der Befehl killall ist, wie Sie gesehen haben, großartig darin, alle Versionen desselben Programms zu töten. Der Befehl "kill" dient dazu, jeweils einen Prozess abzubrechen und ist daher zielgerichteter.
Um den Befehl kill auszuführen, müssen Sie die Prozess-ID des Prozesses kennen, den Sie beenden möchten. Dazu können Sie den Befehl ps verwenden.
Um beispielsweise eine laufende Version von Firefox zu finden, können Sie den folgenden Befehl ausführen:
ps -ef | Grep Firefox
Am Ende sehen Sie eine Datenzeile mit dem Befehl / usr / lib / firefox / firefox. Am Anfang der Zeile sehen Sie Ihre Benutzer-ID und die Nummer hinter der Benutzer-ID ist die Prozess-ID.
Mit der Prozess-ID können Sie Firefox beenden, indem Sie den folgenden Befehl ausführen:
töte -9
Eine andere Möglichkeit, ein Programm zu beenden, ist der Befehl xkill. Dies wird im Allgemeinen verwendet, um fehlerhafte grafische Anwendungen zu beenden.
Um ein Programm wie Firefox zu beenden, öffnen Sie ein Terminal und führen den folgenden Befehl aus:
xkill
Der Cursor ändert sich nun zu einem großen weißen Kreuz. Bewegen Sie den Mauszeiger über das Fenster, das Sie beenden möchten, und klicken Sie mit der linken Maustaste. Das Programm wird sofort beendet.
Eine andere Möglichkeit, einen Prozess zu beenden, ist der Linux-Befehl top. Der oberste Befehl listet alle laufenden Prozesse auf Ihrem System auf.
Um einen Prozess abzubrechen, müssen Sie lediglich die "k" -Taste drücken und die Prozess-ID der Anwendung eingeben, die Sie beenden möchten.
In diesem Abschnitt wurde zuvor mit dem Befehl kill der Prozess mit dem Befehl ps gefunden und der Prozess mit dem Befehl kill beendet. Dies ist keinesfalls die einfachste Option.
Zum einen gibt der Befehl ps eine Fülle von Informationen zurück, die Sie nicht benötigen. Alles, was Sie wollten, war die Prozess-ID. Sie können die Prozess-ID einfacher erhalten, indem Sie den folgenden Befehl ausführen:
pgrep firefox
Das Ergebnis des obigen Befehls ist einfach die Prozess-ID von Firefox. Sie können den Befehl kill jetzt wie folgt ausführen:
töten
(Ersetzen Es ist jedoch tatsächlich einfacher, pkill einfach den Programmnamen wie folgt anzugeben: Schließlich können Sie ein grafisches Werkzeug wie das mit Ubuntu gelieferte mit dem Namen "System Monitor" verwenden. Um "System Monitor" auszuführen, drücken Sie die Supertaste (Windows-Taste bei den meisten Computern) und geben Sie "sysmon" in die Suchleiste ein. Wenn das Systemmonitorsymbol angezeigt wird, klicken Sie darauf. Der Systemmonitor zeigt eine Liste von Prozessen. Um ein Programm sauber zu beenden, wählen Sie es aus und drücken Sie die Ende-Taste am unteren Rand des Bildschirms (oder drücken Sie STRG und E). Wenn dies nicht funktioniert, klicken Sie entweder mit der rechten Maustaste und wählen Sie "Kill" oder drücken Sie STRG und K für den Prozess, den Sie beenden möchten.Pkill Firefox