In Linux- und Unix-basierten Betriebssystemen wird eine laufende Befehlsinstanz als Prozess bezeichnet. Sie können jeden Prozess anhand einer eindeutigen Prozess-ID identifizieren. Linux bietet Befehlszeilentools zum effizienten Auflisten, Verwalten und Überwachen dieser Prozesse.

Sie können diese Tools verwenden, um jeden Prozess zu priorisieren oder ihn in den Hintergrund oder Vordergrund zu stellen, um Systemressourcen effizient zu verwalten.

Dieses Handbuch zur Prozessverwaltung in Linux enthält Tools wie ps, kill, renice und andere Befehle, die Systemadministratoren bei der Verwaltung und Auflistung von Prozessen unterstützen.

Auflisten von Prozessen mit dem Befehl ps

Das älteste und am häufigsten verwendete Befehlszeilenprogramm zum Auflisten aktuell ausgeführter Prozesse unter Linux ist p.s. Obwohl das oberste Kommando ist eine weitere interaktive und bildschirmorientierte Möglichkeit, Systemprozesse zu verwalten und aufzulisten, ps zeigt auch zusätzliche Informationen an, wie die Ressourcen, die jeder Prozess verbraucht.

Aufgrund einer Mehrbenutzerumgebung ist jeder Prozess in Linux einem separaten Benutzer- und Gruppenkonto zugeordnet. Daher helfen Ihnen Kontoinformationen mit Prozessdetails beim Zugriff auf die Systemressourcen, die ein Prozess verwenden kann.

Beispielsweise können Prozesse, die mit Superuser-Rechten ausgeführt werden, auf mehr Systemressourcen zugreifen als ein normaler Benutzer, und hier hilft ps Systemadministratoren.

Die folgende Ausgabe ist ein Beispiel für das Auflisten von Prozessen mit Benutzernamen, der verstrichenen Zeit und dem zugehörigen Speicher- und CPU-Verbrauch:

Beachten Sie auch die STAT-Spalte, die den Status des laufenden Prozesses anzeigt. R stellt den Prozess dar, der gerade ausgeführt wird, und S ist ein schlafender Prozess mit einem Pluszeichen, das Vordergrundoperationen anzeigt.

Sie können alle Prozesse des aktuellen Benutzers wie folgt auflisten:

psux | weniger

So listen Sie Prozesse für alle Benutzer auf:

ps aux | weniger

Verwalten von Prozessen mit System Monitor

System Monitor bietet eine grafische Möglichkeit, Prozesse anzuzeigen und zu verwalten. Um System Monitor zu starten, gehen Sie zu Anwendungen > Systemmonitor. Wechseln Sie zu Prozesse Registerkarte, um alle laufenden Prozesse anzuzeigen.

Standardmäßig werden Prozesse für den aktuellen Benutzer in alphabetischer Reihenfolge angezeigt. Sie können die Prozessliste neu sortieren, indem Sie auf eine beliebige Spaltenüberschrift klicken. Außerdem können Sie auf die klicken %ZENTRALPROZESSOR und Erinnerung Überschriften, um Prozesse anzuzeigen, die mehr Rechenleistung und Speicher verbrauchen.

Mit System Monitor können Sie Prozesse auf verschiedene Arten verwalten, was bedeutet, dass Sie die Prozesspriorität stoppen, beenden, fortsetzen, beenden und ändern können, indem Sie einfach mit der rechten Maustaste auf einen Prozessnamen klicken.

Es ist das beste Werkzeug für Linux-Anfänger, die nicht wissen, wie man mit Befehlszeilendienstprogrammen arbeitet.

Verwandt: So zeigen Sie das Ergebnis der Top-Prozesse an und sortieren nach Speicher

Arbeiten mit Hintergrund-/Vordergrundprozessen

Es kommt eine Zeit, in der Sie nur mit einer Befehlszeile über ein Netzwerk auf ein Linux-System zugreifen müssen. Dies schränkt die effektive Verwaltung mehrerer aktiver Programme ein. Aber eine Shell ermöglicht es Ihnen, Programme zu verwalten, indem Sie sie in den Hintergrund und in den Vordergrund schalten.

So starten Sie einen Hintergrundprozess

Um ein Programm zu starten, während Sie in der Shell weiterarbeiten, führen Sie den Befehl aus, stoppen Sie es und versetzen Sie es mit in den Hintergrund Strg + Z. Um ein Programm direkt im Hintergrund auszuführen, fügen Sie am Ende des Befehls ein kaufmännisches Und (&) wie folgt hinzu:

find /usr > /tmp/allusrfiles &

Notieren Sie sich die Auftragsnummer und die Prozess-ID. Denken Sie daran, dass Sie keine Befehle im Hintergrund ausführen können, die eine Terminaleingabe erfordern.

Du kannst den... benutzen Arbeitsplätze Befehl, um alle Programme/Befehle anzuzeigen, die im Hintergrund ausgeführt werden oder die Sie gestoppt haben (mithilfe von Strg + Z).

Arbeitsplätze

So setzen Sie Vordergrund- und Hintergrundprozesse fort

Um einen Job fortzusetzen, den Sie in den Hintergrund gestellt haben, verwenden Sie die fg Befehl, und es bringt den Befehl in den Vordergrund.

fg %

Wenn Sie die Ausführung eines Befehls im Hintergrund gestoppt haben, können Sie ihn mit dem Befehl bg wie folgt im Hintergrund neu starten:

bg %

Killing-Prozesse unter Linux

So wie Sie mit einem grafischen Tool wie System Monitor einen Prozess beenden, stoppen und fortsetzen können, können Sie auch Befehlszeilentools wie verwenden töten und alle töten um ein Signal an einen laufenden Prozess zu senden.

Neben dem einfachen Beenden eines Prozesses hilft der Kill-Befehl auch beim Senden verschiedener Signale zum Verwalten des Prozessverhaltens.

Sie können entweder Namen oder Zahlen verwenden, um ein Signal zu verwenden.

kill -Signalnummer 
kill -signalname

Beispielsweise senden die folgenden Befehle das Signal SIGKILL an einen Prozess mit der PID 1987:

töten -9 1987
Kill-SIGKILL 1987

Die am häufigsten verwendeten Prozesssignale sind:

Möglichkeit Beschreibung
SIGKILL (9) Beendet den Prozess sofort
SIGTERM (15) Beendet den Vorgang
SIGSTOPP (19/28/25) Stoppt den Vorgang
SIGCONT (19/28/25) Setzt den Prozess fort, nachdem er beendet wurde
SIGUP (1) Weist den Prozess an, seine Konfigurationsdatei zu lesen

Beachten Sie, dass verschiedene Prozesse unterschiedlich auf diese Signale reagieren, aber SIGSTOP- und SIGKILL-Signale nicht stoppen können. Geben Sie den folgenden Befehl ein, um mehr über diese Signale zu erfahren:

Mann 7-Signal

Erfahren Sie mehr: So beenden Sie nicht reagierende Prozesse in Linux mit kill und pkill

Renicing-Prozesse unter Linux

Der Linux-Kernel priorisiert laufende Prozesse und weist Systemressourcen zu, indem er Benutzerkontenrechte berücksichtigt. Der Kernel berücksichtigt auch einen anderen Faktor, nämlich den "netten" Wert jedes laufenden Prozesses.

Der standardmäßige nette Wert eines Prozesses ist Null, aber Sie können den Bereich zwischen -20 und 19 festlegen. Einige Fakten zur Einstellung Prozesspriorität mit nett und renice Werte sind:

  • Ein Prozess mit niedrigem Nice-Wert hat mehr Zugriff auf die CPU-Ressourcen
  • Ein normaler Benutzer kann seine Prozesse nur neu priorisieren
  • Ein normaler Benutzer kann nur Werte zwischen -20 und 19 einstellen und kann nur einen höheren Wert einstellen
  • Ein Superuser kann die Prozesse eines jeden auf einen beliebigen Wert setzen, ob hoch oder niedrig

Prozessmanagement unter Linux leicht gemacht

Eine Mehrbenutzerumgebung verfügt über mehrere Prozesse, die ausreichende Kenntnisse der Systemressourcenverwaltung erfordern, um Engpässe und Systemeinschränkungen zu vermeiden. Ein Teil der Aufgabe umfasst das Verwalten von Prozessen, indem sie im Hintergrund/Vordergrund ausgeführt, beendet oder erneut aktiviert werden.

Sie können auch etwas über das Top-Befehlsdienstprogramm zum Anzeigen und Sortieren von Prozessen lernen und lernen, nicht reagierende Prozesse unter Linux zu beenden.

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

Wenn eine Linux-App nicht mehr reagiert und abstürzt, wie können Sie sie beenden? Probieren Sie einen dieser Tricks aus, um das Beenden eines Programms unter Linux zu erzwingen.

Lesen Sie weiter

TeilenTwitternEmail
Verwandte Themen
  • Linux
  • Computerprozessor
  • Linux-Befehle
  • Linux-Grundstufe
Über den Autor
Rumaisa Niazi (13 veröffentlichte Artikel)

Rumaisa ist freiberufliche Autorin bei MUO. Sie hat viele Rollen getragen, von einer Mathematikerin bis hin zu einer Enthusiastin für Informationssicherheit, und arbeitet jetzt als SOC-Analystin. Ihre Interessen umfassen das Lesen und Schreiben über neue Technologien, Linux-Distributionen und alles rund um Informationssicherheit.

Mehr von Rumaisa Niazi

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden