Android

So beenden Sie einen Prozess unter Linux

Deaktivieren der Hintergrundprogramme in Windows

Deaktivieren der Hintergrundprogramme in Windows

Inhaltsverzeichnis:

Anonim

Haben Sie jemals die Situation erlebt, in der Sie eine Anwendung gestartet haben, und plötzlich, während Sie die Anwendung verwenden, reagiert sie nicht mehr und stürzt unerwartet ab? Sie versuchen, die Anwendung erneut zu starten, aber es geschieht nichts, da der ursprüngliche Anwendungsprozess nie vollständig beendet wird.

Nun, irgendwann ist es uns allen passiert, nicht wahr? Die Lösung besteht darin, den Anwendungsprozess zu beenden oder abzubrechen. Aber wie?

Glücklicherweise gibt es in Linux mehrere Dienstprogramme, mit denen Sie fehlerhafte Prozesse beenden können.

Wir zeigen Ihnen, wie pkill Befehlen kill , killall und pkill einen Prozess unter Linux beenden können.

Der Hauptunterschied zwischen diesen Tools besteht darin, dass kill Prozesse basierend auf der Prozess-ID (PID) beendet, während die Befehle killall und pkill ausgeführte Prozesse basierend auf ihren Namen und anderen Attributen beenden.

Normale Benutzer können ihre eigenen Prozesse beenden, jedoch nicht diejenigen, die anderen Benutzern gehören, während der Root-Benutzer alle Prozesse beenden kann.

System-Kill-Signale

kill , killall und pkill senden ein bestimmtes Signal an bestimmte Prozesse oder Prozessgruppen. Wenn kein Signal angegeben ist, sendet jedes Werkzeug 15 ( TERM ).

Die am häufigsten verwendeten Signale sind:

  • 1 (-HUP): um einen Prozess neu zu laden. 9 (-KILL): um einen Prozess abzubrechen. 15 (-TERM): um einen Prozess ordnungsgemäß zu stoppen.

Signale können auf drei verschiedene Arten angegeben werden:

  • Verwenden der Nummer (z. B. -1) mit dem Präfix "SIG" (z. B. -SIGHUP) ohne das Präfix "SIG" (z. B. -HUP).

Verwenden Sie die Option -l um alle verfügbaren Signale aufzulisten:

kill -l # or killall -l

Die unten beschriebenen Schritte funktionieren auf allen Linux-Distributionen.

Beenden von Prozessen mit dem Befehl kill

Um einen Prozess mit dem Befehl kill zu beenden, müssen Sie zuerst die Prozess-PID ermitteln. Sie können dies mit verschiedenen Befehlen wie top , ps , pidof und pgrep pidof .

Angenommen, der Firefox-Browser reagiert nicht mehr und Sie müssen den Firefox-Prozess beenden. Verwenden Sie den Befehl pidof um die Prozess-ID zu pidof :

pidof firefox

Der Befehl druckt alle Firefox-Prozesse:

2551 2514 1963 1856 1771

Sobald Sie wissen, dass Firefox PIDs verarbeitet, um alle zu beenden, senden Sie das TERM Signal:

kill -9 2551 2514 1963 1856 1771

Beenden von Prozessen mit dem Befehl killall

Der Befehl killall beendet alle Programme, die einem angegebenen Namen entsprechen.

In demselben Szenario wie zuvor können Sie den Firefox-Prozess beenden, indem Sie Folgendes eingeben:

killall -9 firefox

killall akzeptiert verschiedene Optionen wie das Senden von Signalen an Prozesse, die einem bestimmten Benutzer gehören, das Vergleichen von Prozessnamen mit regulären Ausdrücken und die Erstellungszeit. Sie können eine Liste aller Optionen erhalten, indem Sie killall (ohne Argumente) auf Ihrem Terminal eingeben.

Um beispielsweise alle Prozesse zu beenden, die als Benutzer "sara" ausgeführt werden, führen Sie den folgenden Befehl aus:

sudo killall -u sara

Beenden von Prozessen mit dem Befehl pkill

pkill beendet Prozesse, die dem in der Befehlszeile angegebenen Muster entsprechen:

pkill -9 firefox

Der Name des Prozesses muss nicht exakt übereinstimmen.

Mit pkill Sie auch ein Signal an Prozesse senden, die einem bestimmten Benutzer gehören. Um nur die Firefox-Prozesse abzubrechen, die dem Benutzer "sara" gehören, geben Sie Folgendes ein:

pkill -9 -u sara firefox

Fazit

pkill reagierende Programme mit den Befehlen kill , killall und pkill , ist eine einfache Aufgabe. Sie müssen nur den Prozessnamen oder die PID kennen.

Terminal töten