GNU/Linux >> LINUX-Kenntnisse >  >> Linux

5 schnelle Möglichkeiten, einen Prozess in 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 X-Schaltfläche 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, einen Prozess unter Linux zu beenden

Steuersequenz

Die zweite offensichtliche Möglichkeit, einen gerade gestarteten Prozess zu beenden, besteht darin, Strg-C in die Befehlszeile einzugeben. Die Steuerungssequenz Strg-C kann im Allgemeinen sicher verwendet werden, 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 zu unterbrechen.

Kill-Befehle

Das Linux-Betriebssystem verfügt über den Kill-Befehl, 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.

Beim Start eines Programms wird automatisch eine eindeutige PID für diesen Prozess generiert. Der Init-Prozess ist der erste Prozess, der beim Booten eines Linux-Systems gestartet wird und ihm der Wert „1“ zugewiesen wird.

Init ist der Master-Prozess und kann nicht durch den Kill-Befehl beendet werden. Der Kill-Befehl im Init-Prozess ist lediglich eine Aufforderung an das System, herunterzufahren.

Diese Anleitung führt Sie durch die Schritte und verschiedene Möglichkeiten, einen laufenden Prozess mit dem Linux-Terminal zu beenden.

Der Root-Benutzer hat alle erforderlichen Berechtigungen, um alle Prozesse zu beenden. 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. Zu den zwei Haupttypen von Beendigungsnachrichten gehören:

• SIGTERM – Der Kill-Befehl sendet standardmäßig ein SIGTERM-Signal. Es sollte ermöglichen, dass der Prozess durch seine normalen Abschaltprozeduren beendet wird. Es ist eine sanftere Methode, um zu versuchen, einen Prozess zu beenden, und kann blockiert werden.

• SIGKILL – Es wird einen Prozess immer 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-of-process

Der folgende Screenshot zeigt, wie Sie mit dem Befehl ps prüfen, ob MySQL auf dem System ausgeführt wird. Es gibt uns die PID des MySQL-Daemons, nämlich 1162.

Allgemeine Optionen zum Hinzufügen zum Befehl ps

• -a:Prozesse von allen Benutzern anzeigen.
• -u:Detaillierte Informationen zu jedem Prozess anzeigen.
• -x:Alle Prozesse anzeigen, die von Daemons gesteuert werden.

ps -e

Syntax:

top

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 Verwendung des pgrep-Befehls ist auch sehr effizient, um die entsprechende Prozess-ID zu erhalten.

Allgemeine Optionen zum Hinzufügen zum pgrep-Befehl.

• -l:Prozessnamen und PIDs auflisten.
• -n:Neusten Prozess zurückgeben.
• -o:Ältesten Prozess zurückgeben.
• -u:Zugehörige Prozesse finden an einen bestimmten Benutzer.
• -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 <options> <program>

Optionen:

• -c:Gibt PIDs innerhalb eines einzelnen Stammverzeichnisses zurück.
• -o:Bestimmte PIDs werden weggelassen.
• -s:Gibt eine einzelne PID zurück.
• -x:Gibt PIDs von zurück Shells, 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 kennen, zu der der Prozess ausgeführt wurde.

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:

killall <process>

Mit dem killall-Befehl verfügbare Optionen:

• -e:Gibt die exakte Übereinstimmung für den Prozessnamen zurück.
• -I:Der Befehl ignoriert die Groß-/Kleinschreibung, wenn er den Prozessnamen findet.
• -i:Er fragt nach zusätzlichen Informationen, wenn a beendet wird Prozess nach Namen.
• -u:Beendet Prozesse, die einem bestimmten Benutzer des Systems gehören.
• -v:Gibt Rückmeldung darüber, ob der Abbruchprozess 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 Zeitdauer.
• -y:Diese Option beendet alle Prozesse, die weniger als die angegebene Zeitdauer 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.

Kill-Befehl

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

Syntax:

kill <processID>

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

Kill -9 Befehl

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

Syntax:

kill -9 <processID>

oder

kill -SIGKILL <processID>

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

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

Andere häufig verwendete Kill-Optionen sind:

• -1 (HUP):Dies ist die „Auflegen“-Option und im Allgemeinen sehr sicher.
• -2 (SIGINT):Dies ist das gleiche Signal wie Strg-C und wird als sichere Alternative zum Töten angesehen ein Programm.
• -15 (-TERM):Dies ist das standardmäßige Beendigungssignal und im Allgemeinen sehr sicher.

Eine vollständige Liste aller verfügbaren Signale erhalten Sie 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 <options> <pattern>

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.

xkill

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

xkill <resource>

Der xkill-Befehl beendet unerwünschte Serverprozesse.

oberster Befehl

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

Syntax:

top

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

Zusammenfassung

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

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

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

• Sie können einen Prozess anhand des Namens oder der Prozess-ID beenden, indem Sie die Befehle killall, pkill, kill, xkill oder top verwenden.

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

• Sie können den Systemmonitor verwenden, um den Linux-Prozess zu beenden. Es kann in den Systemwerkzeugen gefunden werden und bietet mehrere Optionen wie den obersten Prozess, den Prozess beenden oder den Prozess beenden.

• Der Kill-Befehl 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 sind. Wenn Sie mehr erfahren möchten, schlage ich vor, sich die entsprechenden Manpages anzusehen.


Linux
  1. Wie beendet man einen Prozess unter Linux mit dem Befehl?

  2. kill-Befehlsbeispiele in Linux

  3. renice-Befehlsbeispiele in Linux

  4. pkill-Befehlsbeispiele in Linux

  5. Linux:Schließen Sie ein Programm mit der Befehlszeile (nicht beenden)

Kill-Befehl unter Linux

W-Befehl unter Linux

Bei Befehl unter Linux

Die 7 besten Möglichkeiten, nicht reagierende Programme unter Linux zu beenden

Wie man einen Prozess unter Linux beendet

Was ist der Kill-Befehl in Linux?