Linux lernen

5 schnelle Möglichkeiten, einen Prozess unter Linux zu beenden

5 schnelle Möglichkeiten, einen Prozess unter Linux zu beenden

Das Linux-Betriebssystem bietet mehrere Möglichkeiten zum Beenden eines Linux-Betriebssystemprozesses. Der offensichtliche Weg, ein Programm zu stoppen, besteht darin, auf die Schaltfläche X in der oberen linken oder rechten Ecke zu klicken. Aber es gibt unzählige andere Möglichkeiten, einen Prozess zu beenden; Wir sind hier, um die anderen effizienten Wege zu besprechen.

Möglichkeiten zum Beenden eines Prozesses unter Linux

Steuersequenz

Die zweite offensichtliche Möglichkeit, einen gerade gestarteten Prozess zu beenden, besteht darin, Strg-C in die Befehlszeile einzugeben. Die Steuersequenz Strg-C ist im Allgemeinen sicher zu verwenden, auch wenn ein gewisser Datenverlust möglich ist.

Die Strg-Z-Sequenz unterbricht einen laufenden Prozess. Es sendet das SIGTSP-Signal an einen Prozess, dessen Standardaktion darin besteht, den Prozess anzuhalten.

Tötungsbefehle

Das Linux-Betriebssystem enthält den Befehl kill, mit dem Sie einen Prozess beenden können, wenn er nicht mehr reagiert oder zu viele Ressourcen verbraucht. Ein Prozess in Linux ist eine Instanz eines Programms.

Für diesen Prozess wird beim Start eines Programms automatisch eine eindeutige PID generiert. Der init-Prozess ist der erste Prozess, der gestartet wird, wenn ein Linux-System gebootet wird und dem der Wert '1' zugewiesen wird.

Init ist der Master-Prozess und kann nicht mit dem Befehl kill beendet werden. Der kill-Befehl des init-Prozesses ist lediglich eine Aufforderung zum Herunterfahren des Systems.

Diese Anleitung führt Sie durch die Schritte und verschiedene Möglichkeiten zum Beenden eines laufenden Prozesses mit dem Linux-Terminal.

Der Root-Benutzer hat alle Berechtigungen, die zum Beenden aller Prozesse erforderlich sind. Sie können eine Root-Shell mit dem Befehl su erhalten oder sudo vor dem Befehl hinzufügen und ausführen.

Das vom Kill-Befehl gesendete Standardsignal

Das Beenden eines Prozesses sendet eine Beendigungsnachricht an den angegebenen Prozess. Die zwei Haupttypen von Beendigungsnachrichten umfassen:

• SIGTERM - Der Kill-Befehl sendet standardmäßig ein SIGTERM-Signal. Es sollte ermöglichen, dass der Prozess durch seine normalen Herunterfahrprozeduren beendet wird. Dies ist ein sanfterer Versuch, einen Prozess zu beenden, und kann blockiert werden.

• SIGKILL - Es wird immer einen Prozess abrupt beenden. Wenn SIGKILL nicht funktioniert, ist das Betriebssystem ausgefallen. Es ist die schnellste und effektivste Methode, um einen Prozess zu beenden.

Laufende Prozesse auflisten

Der top-Befehl, der ps-Befehl und der pidof-Befehl sind die einfachsten Möglichkeiten, laufende Prozesse in einem Linux-System anzuzeigen.

Syntax:

ps -e | grep-Name des Prozesses

Der Screenshot unten zeigt, wie Sie mit dem Befehl ps überprüfen, ob MySQL auf dem System läuft. Es gibt uns die PID des MySQL-Daemons, die 1162 ist.

Bild zur Verwendung von Grep MySQL

Allgemeine Optionen zum Hinzufügen zum ps-Befehl

• -a: Prozesse aller Benutzer anzeigen.
• -u: Detaillierte Informationen zu jedem Prozess anzeigen.
• -x: alle Prozesse anzeigen, die von Daemons kontrolliert werden.

ps -e

Optionen zum Hinzufügen zum ps-Befehl

Syntax:

oben

Der oberste Befehl zeigt Ihnen die PID, den Benutzer, den Namen der Ressource und wie viele Systemressourcen jeder Prozess verwendet. Diese sind nützlich, wenn Sie sich entscheiden, einen der Prozesse zu beenden.

Die Top-Befehlsergebnisse

Die Verwendung des Befehls pgrep ist auch sehr effizient, um die entsprechende Prozess-ID zu erhalten.

Verwenden des pgrep-Befehls

Allgemeine Optionen zum Hinzufügen zum pgrep-Befehl.

• -l: Listet die Prozessnamen und die PIDs auf.
• -n: Gibt den neuesten Prozess zurück.
• -o: Gibt den ältesten Prozess zurück.
• -u: Prozesse suchen, die einem bestimmten Benutzer gehören.
• -x: Finde einen Prozess, der genau einem gegebenen Muster entspricht.

Der Befehl pidof wird verwendet, um die IP eines Prozesses zu finden, wenn Sie den Namen des Prozesses kennen.

Syntax:

pidof  

Optionen:

• -c: Gibt PIDs innerhalb eines einzelnen Root-Verzeichnisses zurück.
• -o: Bestimmte PIDs werden weggelassen.
• -s: Gibt eine einzelne PID zurück.
• -x: Gibt PIDs von Shells zurück, die Skripte ausführen.

Sie können einen Prozess in Linux mit verschiedenen Methoden beenden, je nachdem, ob Sie die PID des Prozesses, den Namen des Prozesses oder die Zeit, zu der der Prozess ausgeführt wurde, kennen.

killall-Befehl

Der Befehl killall wird verwendet, um Prozesse nach Namen zu beenden. Es kann mehrere Prozesse mit einem einzigen Befehl beenden und sendet standardmäßig ein SIGTERM-Signal.

Syntax:

töte alle 

Mit dem Befehl killall verfügbare Optionen:

• -e: Gibt die genaue Übereinstimmung für den Prozessnamen zurück.
• -I: Der Befehl ignoriert die Groß-/Kleinschreibung, wenn der Prozessname gefunden wird.
• -i: Es wird nach zusätzlichen Informationen gefragt, wenn ein Prozess namentlich beendet wird.
• -u: Es wird Prozesse beenden, die einem bestimmten Benutzer des Systems gehören.
• -v: Gibt Rückmeldung, ob der Kill-Prozess erfolgreich ausgeführt wurde.

Der killall-Befehl kann auch Prozesse in einem Linux-System basierend auf den Laufzeiten der Prozesse beenden.

• -o: Diese Option beendet alle Prozesse für mehr als die angegebene Zeit.
• -y: Diese Option beendet alle Prozesse, die weniger als die angegebene Zeit laufen.

Beispiel:

• killall -o 20m: Der Befehl beendet alle Prozesse, die älter als 20 Minuten sind.
• Killall -y 20m: Der Befehl beendet alle Prozesse, die weniger als 15 Minuten laufen.

Tötungsbefehl

Der Befehl kill beendet einen Prozess, wenn Sie die Prozess-IP kennen.

Syntax:

töten 

Der Befehl kill beendet einen einzelnen Prozess mit der angegebenen Prozess-ID. Der Befehl sendet ein SIGTERM-Signal, um zu stoppen und zu warten, bis der Prozess seine routinemäßigen Abschaltprozeduren durchläuft.

Töte -9-Befehl

Der Befehl kill -9 wird verwendet, um nicht reagierende Prozesse oder Dienste zu beenden.

Syntax:

töten -9 

oder

töten -SIGKILL 

Der Befehl kill -9 sendet ein SIGKILL-Signal, um einen Prozess sofort zu beenden. Der Befehl kill -9 umgeht die Standard-Shutdown-Routine und alle nicht gespeicherten Daten gehen verloren.

Nicht reagierende Programme ignorieren den Befehl kill, werden jedoch beendet, wenn der Befehl kill -9 ausgegeben wird.

Andere häufig verwendete Kill-Optionen sind:

• -1 (HUP): Dies ist die Option „Auflegen“ und ist im Allgemeinen sehr sicher.
• -2 (SIGINT): Dies ist das gleiche Signal wie Strg-C und gilt als sichere Alternative zum Beenden eines Programms.
• -15 (-TERM): Dies ist das standardmäßige Beendigungssignal und ist im Allgemeinen sehr sicher.

Eine vollständige Liste aller verfügbaren Signale erhalten Sie mit dem Befehl kill -l.

Vollständige Liste aller verfügbaren Signale mit dem Befehl kill -l

pkill-Befehl

Der Befehl pkill beendet einen Prozess, wenn Sie den Prozessnamen kennen. Standardmäßig sendet pkill das SIGTERM-Signal, um den Prozess zu beenden.

Syntax:

pkill  

pkill-Optionen:

• -n: Dieser Befehl beendet die neuesten Prozesse.
• -o: Dieser Befehl beendet die ältesten Prozesse.
• -u: Dieser Befehl beendet Prozesse basierend auf dem ausgewählten Benutzer.
• -x: Dieser Befehl beendet Prozesse, die einem Muster entsprechen.
• -signal: Sendet ein anderes Signal als das Standardsignal SIGTERM specified.

xkill

Der xkill-Befehl schließt die Verbindung eines Servers zu Clients.

xkill 

Der xkill-Befehl beendet unerwünschte Serverprozesse.

oberstes Kommando

Der Befehl top bietet eine Schnittstelle, über die ein Benutzer den Beendigungsprozess angeben kann.

Syntax:

oben

Um einen Prozess per PID zu beenden, fügen Sie k von der Schnittstelle ein und geben Sie dann eine angegebene Prozess-ID ein.

Rekapitulieren

• Sie benötigen Sudo-Berechtigungen, um einen Prozess über die Befehlszeile zu beenden.

• Immer wenn Sie mit dem Befehl kill ein Signal erzeugen, unterbricht das Linux-System den normalen Ausführungsfluss des Zielprozesses.

• Um einen laufenden Prozess zu finden, können Sie die Befehle ps, top, pgrep oder pidof verwenden.

• Sie können einen Prozess nach Name oder Prozess-ID mit den Befehlen killall, pkill, kill, xkill oder top beenden.

• Ein Kill-Prozess sendet ein Beendigungssignal von SIGTERM, SIGHUP oder SIGKILL.

• Sie können den Systemmonitor verwenden, um den Linux-Prozess zu beenden. Es ist in den Systemtools zu finden und bietet mehrere Optionen wie den Top-Prozess, den Prozess beenden oder den Prozess beenden.

• Der Befehl kill und seine Varianten sind ziemlich einfach zu verstehen und zu verwenden.

In diesem Handbuch haben wir verschiedene Möglichkeiten zum Beenden von Prozessen in Linux hervorgehoben. Es gibt eine leichte Lernkurve in Bezug auf die Liste der angebotenen Signaloptionen, die für eine ordnungsgemäße Linux-Administration unerlässlich ist. Wenn Sie mehr erfahren möchten, schlage ich vor, sich die entsprechenden Manpages anzusehen.

Beste Spielkonsolen-Emulatoren für Linux
Dieser Artikel listet beliebte Spielekonsolen-Emulationssoftware auf, die für Linux verfügbar ist. Emulation ist eine Softwarekompatibilitätsschicht, ...
Beste Linux-Distributionen für Gaming im Jahr 2021
Das Linux-Betriebssystem hat sich weit von seinem ursprünglichen, einfachen, serverbasierten Aussehen entfernt. Dieses Betriebssystem hat sich in den ...
So erfassen und streamen Sie Ihre Gaming-Sitzung unter Linux
In der Vergangenheit galt das Spielen von Spielen nur als Hobby, aber mit der Zeit verzeichnete die Spieleindustrie ein enormes Wachstum in Bezug auf ...