Wir alle kennen diese Tage, an denen unser Computer außergewöhnlich langsam läuft und selbst bei den grundlegenden Aufgaben stottert. In Windows haben Sie nur den Windows Task-Manager, um Prozesse zu inspizieren und zu beenden, die nicht so wichtig sind, aber enorme Mengen an Speicher verbrauchen. Unter Linux steht Ihnen jedoch ein ganzes Arsenal an Befehlen und GUI-Tools zur Verfügung, um diese Aufgaben zu bewältigen. In diesem Artikel zeigen wir einige einfache Befehlszeilenmethoden (CLI) sowie GUI-Methoden zum Beenden eines Prozesses in Linux.

Prozess beenden in Linux (2023)

Aber bevor wir in die Welt des Prozessmanagements in Linux eintauchen, lassen Sie uns verstehen, was genau ein Prozess ist und was eine Prozess-ID in Linux-Systemen ist.

Was sind Prozesse in Linux

Unter Linux wird jede aktuell laufende Instanz eines Programms als „Prozess“ bezeichnet, während jede ausführbare Datei als Programm bezeichnet wird. Wenn ein beliebiges Programm ausgeführt wird, wird ein Prozess erstellt und jedem Prozess wird eine eindeutige 5-stellige Identifikationsnummer zugewiesen, die als „Prozess-ID“ bekannt ist. Wenn ein Prozess die Ausführung beendet hat oder zwangsweise beendet wird, wird seine Prozess-ID dem nächsten Prozess in der Reihe zugewiesen.

Beenden Sie den Prozess über die Befehlszeile in Linux

Obwohl die Verwendung des Terminals im Vergleich zur Verwendung von GUI-Tools für grundlegende Aufgaben manchmal einschüchternd erscheinen mag, wird die Verwaltung verschiedener Prozesse viel einfacher, sobald Sie die Befehle und ihre verschiedenen Optionen verstehen.

Beendigungssignale

Wenn Sie versuchen, einen Prozess entweder über die GUI oder die CLI unter Linux zu beenden, sendet der Kernel ein Beendigungssignal an den Prozess. Je nach empfangenem Signal verhält sich der Prozess entsprechend. Jedem dieser Signale ist eine bestimmte Nummer zugeordnet, damit das Programm es schnell verstehen kann. Es gibt zahlreiche Arten von Terminierungssignalen, aber wir haben hier nur die wesentlichen erklärt:

Signal Zahlenwert Beschreibung
SEUFZEND 1 Es steht für „Signal Hangup“ Es wird gesendet, wenn das Terminal geschlossen wird.
SIGN 2 Es steht für „Signal Interrupt“ Es wird gesendet, wenn der Benutzer den Prozess beendet.
SIGKILL 9 Es steht für „Signal Kill“. Es wird gesendet, wenn Sie einen Prozess sofort beenden müssen
SIGTERM 15 Es steht für „Signal Termination“. Es wird gesendet, wenn Sie einen Prozess beenden und die verbrauchten Ressourcen freigeben müssen
SIGSTOP 19 – für ARM, x86 17 – für Alpha 23 – für MIPS 24 – für PA-RISC Es steht für „Signal Stop“ Es wird gesendet, wenn Sie einen Prozess anhalten und später fortsetzen müssen
Die am häufigsten verwendeten Signale sind SIGKILL (9) und SIGTERM (15).

Identifizieren Sie die Prozess-IDs

Bevor Sie einen Prozess beenden, müssen Sie einige Details des Prozesses kennen, z. B. die Prozess-ID, die Laufzeit usw. Um die Details eines Prozesses zu erfahren, verwenden Sie die ps Befehl:

Siehe auch  TOGETHER BnB stürzt auf Windows-PCs ab, friert ein oder stottert

ps

Mit dem Befehl ps müssen Sie nach dem Prozess suchen, indem Sie scrollen und seinen Namen notieren, was umständlich sein könnte. Stattdessen können Sie sogar die verwenden grep Befehl mit dem ps Befehl in einer Pipeline, wie unten gezeigt:

ps | grep

Zur Vereinfachung gibt es einen separaten Befehl, der nur die Prozess-ID eines laufenden Prozesses anzeigt, den Sie kennen müssen. Die zu verwendende Syntax pidof Befehl ist:

pidof

Identifizieren Der Prozess-Id

Beenden Sie den Prozess mit dem Kill-Befehl

Nachdem Sie sich die Prozess-ID des Prozesses notiert haben, den Sie beenden möchten, ist der am häufigsten verwendete Befehl zum Beenden von Programmen auf Ihrem Linux-System der Kill-Befehl. Die Syntax zur Verwendung des Kill-Befehls lautet:

kill

Der Der Parameter ist optional und der Kill-Befehl sendet standardmäßig das Signal SIGTERM (15). Sie können jedes andere Signal anhand seines numerischen Werts oder des tatsächlichen Signalnamens aus der obigen Tabelle senden.

Mit Kill-Befehl Beenden

Prozess beenden mit dem pkill-Befehl

Wenn Sie der Meinung sind, dass die Suche nach der Prozess-ID unbequem ist, können Sie den Befehl pkill verwenden. Es sucht nach den Prozessen, die einem Muster entsprechen, und beendet es dann. Die Syntax zur Verwendung des pkill-Befehls lautet:

pkill

Einige der gängigen Optionen zum Koppeln mit dem Befehl pkill sind:

Möglichkeit Beschreibung
-n Wählt nur die neuesten Prozesse aus, die der Prozess-ID entsprechen
-u Wählt die Prozesse aus, die einem bestimmten Benutzer gehören
-x Wählt Prozesse aus, die genau dem Muster entsprechen

Dies ist besonders wichtig, wenn mehrere Benutzer an verschiedenen Instanzen desselben Programms im selben System arbeiten und eine der Instanzen ein unerwartetes Verhalten zeigt. Im folgenden Screenshot beenden wir beispielsweise die „gedit“-Instanz, die dem Benutzer „intel“ gehört, indem wir den pkill-Befehl in Linux verwenden:

pkill -u intel gedit

Beenden Sie Den Gedit-Prozess Mit Dem Befehl Pkill

Beenden Sie den Prozess mit dem Befehl killall

Der killall Befehl funktioniert ähnlich wie der kill Befehl, aber es beendet alle Prozesse, die dem Prozessnamen entsprechen, unabhängig vom Benutzer. Standardmäßig sendet es die SIGTERM-Signal wenn nicht anders angegeben. Interessant ist, dass die killall Der Befehl kann sich niemals selbst beenden, kann aber andere Instanzen von beenden killall Befehl. Die zu verwendende Syntax killall Befehl ist:

killall

Einige der Optionen zum Koppeln mit dem Befehl killall sind:

Möglichkeit Beschreibung
-r Interpretiert den Prozessnamen als Regex-Muster und beendet dann die Prozesse, die dem Muster entsprechen
-u beendet den angegebenen Prozess, der einem angegebenen Eigentümer gehört.
-o Beendet die angegebenen Prozesse, die älter (vorher gestartet) als eine bestimmte Zeit sind.
-y Beendet die angegebenen Prozesse vor (gestartet nach) der angegebenen Zeit.

Der Befehl killall kann nützlich sein, um eine Reihe desselben Prozesses oder sogar alle Prozesse zu beenden, die einem bestimmten Eigentümer gehören. Hier in unserem Beispiel beenden wir alle Prozesse des „Schlafens für 500 Sekunden“ mit dem Befehl killall in Linux:

Siehe auch  So ändern Sie den standardmäßigen Fotobetrachter in Windows 11/10

killall -v sleep

Beenden Sie Alle Prozesse Namens Sleep

Beenden Sie den Linux-Prozess mit dem Befehl top/htop

Diese Methode zum Beenden von Prozessen ist nützlich, wenn Sie keine Ahnung haben, welche Prozesse die maximalen Ressourcen verbrauchen. In beiden Befehlen können Sie durch alle laufenden Prozesse oder sogar Zombie-Prozesse navigieren und diese schnell beenden. Um den obersten Befehl zum Überwachen Ihrer Ressourcen zu verwenden, verwenden Sie die Syntax im Terminal:

top

Verständnis der Ausgabe:

Die Hauptausgabe des obersten Befehls ist in folgende Spalten unterteilt:

  1. PID – zeigt die Prozess-ID des laufenden Prozesses
  2. Benutzer – zeigt den Besitzer des Prozesses an
  3. PR – zeigt den vom Betriebssystem zugewiesenen Prioritätswert des Prozesses an
  4. NI – zeigt die netten Werte, die wie das Zuweisen von benutzerdefinierten Werten sind, um die Priorität einer Aufgabe manuell zu steuern.
  5. VIRT – zeigt die Menge des vom Prozess verwendeten virtuellen Speichers an.
  6. RES – zeigt die Menge an physischem Speicher, die vom Prozess verwendet wird
  7. SHR – zeigt die Menge an Speicher, die von anderen Prozessen gemeinsam genutzt wird
  8. S – zeigt den aktuellen Status des Prozesses an, der sein kann:
    • D – unterbrechungsfreier Schlaf
    • R – läuft
    • S – schlafen
    • T – angehalten
    • Z – Zombie
  9. %ZENTRALPROZESSOR – Zeigt die CPU-Auslastung des Prozesses in Prozent an
  10. %MEM – Zeigt die vom Prozess verwendete RAM-Menge in Prozent an
  11. ZEIT+ – Zeigt die Gesamtlaufzeit des Prozesses an
  12. Befehl – Zeigt an, welcher Befehl für den Prozess aufgerufen wurde.

Wenn Sie die Prozess-ID der Aufgabe, die Sie beenden möchten, nicht kennen, navigieren Sie entweder mit den Pfeiltasten durch die Liste oder suchen Sie in Linux in der Prozesstabelle nach dem Prozessnamen.

Um den Prozessnamen zu suchen, Drücken Sie ‚L‘ auf der Tastatur und geben Sie den Prozessnamen ein, den Sie suchen möchten. Sobald Sie den schändlichen Prozess gefunden haben, Drücken Sie ‚k‘ auf der Tastatur, um den Prozess zu beenden. Geben Sie nun die Prozess-ID ein oder belassen Sie es beim aktuell markierten Prozess und drücken Sie ‚ENTER‘. Geben Sie als nächstes das Beendigungssignal ein und drücken Sie dann ‚ENTER‘, um das Programm zu beenden. Um zum Terminal zurückzukehren, drücken Sie ‚q‘ auf der Tastatur.

Obwohl die top Der Befehl zeigt Details wie Prozess-ID, Speicherverbrauch und mehr für alle laufenden Prozesse an. Er ist für Anfänger nicht gut geeignet, da er keine Tastenzuordnungen oder seine Verwendung zeigt. Andererseits, Die htop Befehl hat eine benutzerfreundlichere Oberfläche, sogar für ein Kommandozeilentool. Außerdem werden alle Details in einer separaten Ansicht angezeigt, sodass das Terminalfenster nicht überladen wird. Es ist in den meisten Distributionen nicht vorinstalliert, und Sie müssen den folgenden Befehl zur Installation verwenden htop unter Linux:

Siehe auch  Wie man Haus des Drachen sieht

sudo apt install -y htop

Verwenden Sie den folgenden Befehl, um htop zum Verwalten von Prozessen unter Linux zu verwenden:

htop

Um ein Programm zu beenden, navigieren Sie zu dem Prozessnamen, den Sie beenden möchten, drücken Sie „F9“ und dann die Eingabetaste. Wenn Sie ein Programm suchen und beenden müssen, drücken Sie „F3“ auf der Tastatur, geben Sie den Namen ein und drücken Sie die Eingabetaste. Der Der Prozessname wird hervorgehobendrücken Sie F9 und dann die Eingabetaste auf der Tastatur, um den Vorgang zu beenden.

  • So Beenden Sie Einen Prozess In Linux
  • So Beenden Sie Einen Prozess In Linux

Beenden Sie einen Prozess über den Systemmonitor in Linux

Wenn Sie der Meinung sind, dass die Befehlszeilenmethode für Sie schwierig ist, können Sie das integrierte Systemüberwachungstool verwenden, das in jeder Linux-Distribution verfügbar ist. Um zu erfahren, wie es funktioniert, öffnen Sie das Systemmonitor-Tool aus dem Anwendungsmenü und führen Sie die folgenden Schritte aus.

1. Sobald sich das Systemüberwachungstool öffnet, sehen Sie oben drei Registerkarten mit den Namen „Prozesse“, „Ressourcen“ und „Dateisystem“. Um Ihre Prozesse zu verwalten, gehen Sie zu Reiter „Prozesse“.. Hier sehen Sie alle Ihre derzeit laufenden Prozesse. Drücken Sie „STRG+F“, um nach einem Prozessnamen zu suchen. Klicken Sie auf den Prozessnamen, den Sie beenden möchten, und klicken Sie auf „Prozess beenden“.

Suchen Sie Mithilfe Des Systemmonitors Nach Prozessen

2. Anschließend erhalten Sie eine Sicherheitsabfrage, ob Sie den Vorgang beenden möchten oder nicht. Fahren Sie fort und klicken Sie auf die große rote Schaltfläche „Prozess beenden“, um den Prozess unter Linux zu beenden.

Beenden Sie Den Prozess Mit Dem Systemmonitor

Häufig gestellte Fragen

Wie stoppe ich alle Prozesse in Linux?

Wenn Sie alle Prozesse (mit Ausnahme der Login-Shell, Init und Kernel-spezifischen Prozesse) für einen bestimmten Benutzer unter Linux stoppen müssen, verwenden Sie entweder den Befehl pkill oder den Befehl killall gemäß der Syntax:

pkill -u

killall -u

Wenn Sie jeden Prozess für jeden Benutzer beenden müssen, einschließlich des Init-Systems, drücken Sie die Tasten „ALT + Prt Sc + o“ auf der Tastatur.

Ist es in Ordnung, einen Prozess zu beenden?

Wenn Sie einen nicht wesentlichen Hintergrundprozess oder einen Benutzerprozess schließen, der viel Systemspeicher verbraucht, geben Sie die Ressourcen frei, die jetzt von anderen Prozessen verwendet werden können. Stellen Sie jedoch vor dem Herunterfahren eines Prozesses sicher, dass Sie keinen wichtigen Betriebssystemprozess beenden.

Was sind die Hintergrundprozesse in Linux?

Unter Linux sind Hintergrundprozesse Prozesse, die ohne die Shell-Instanz oder ohne Benutzereingriff ausgeführt werden können. Sie können mit jedem der Befehle angezeigt werden – top, htop, ps usw.

Was ist ein Zombie-Prozess??

Ein Prozess, der vom Benutzer beendet wurde, aber immer noch Speicher belegt, wird als Zombie-Prozess bezeichnet.

Was macht STRG + Z unter Linux?

Wenn Sie STRG + Z unter Linux verwenden, sendet es das SIGTSTP-Signal, das den Prozess anhält und im Hintergrund sendet. Wenn sich ein Prozess im Hintergrund in einem angehaltenen Zustand befindet, können Sie den Prozess nicht beenden, bis er wieder in den Vordergrund gebracht wird.

Beenden Sie Prozesse in Linux einfach

Das Beenden von speicherraubenden Prozessen ist eine ziemlich wichtige Aufgabe, die jeder Benutzer lernen sollte. In diesem Artikel haben wir sowohl die Befehlszeilenmethode, einschließlich Befehlen wie killall und pkill, als auch die GUI-Methoden zum Beenden von Prozessen in Linux gezeigt. Wir haben sogar detailliert beschrieben, wie Sie beliebte Tools wie top und htop verwenden, um Prozesse auf Ihrem Linux-PC zu verwalten. Wenn Sie bei der Verwendung dieser Tools zum Beenden eines Prozesses auf Probleme stoßen, teilen Sie uns dies in den Kommentaren unten mit.

Anzeige

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein