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

Befehle für das Prozessmanagement in Linux

In diesem Artikel besprechen wir das Prozessmanagement in Linux. Ein Prozess in Linux ist nichts anderes als ein Programm in Ausführung. Es ist eine laufende Instanz eines Programms. Jeder Befehl, den Sie ausführen, startet einen Prozess.

Arten von Prozessen in Linux

Unter Linux gibt es zwei Arten von Prozessen:

  • Vordergrundprozesse
    abhängig von der Benutzereingabe
    auch als interaktive Prozesse bezeichnet
  • Hintergrundprozesse
    benutzerunabhängig laufen
    als nicht interaktive oder automatische Prozesse bezeichnet

Prozesszustände in Linux

Ein Prozess in Linux kann nach seiner Erstellung und vor seiner Beendigung verschiedene Zustände durchlaufen. Diese Zustände sind:

  • Läuft
  • Schlafen
    • Unterbrechbarer Schlaf
    • Unterbrechungsfreier Schlaf
  • Angehalten
  • Zombie
  • Ein Prozess wird ausgeführt Status bedeutet, dass es ausgeführt wird oder bereit zur Ausführung ist.
  • Der Prozess schläft Zustand, wenn es auf die Verfügbarkeit einer Ressource wartet.
  • Ein Prozess im unterbrechbaren Schlaf wird aufwachen, um Signale zu verarbeiten, während sich ein Prozess im unterbrechungsfreien Ruhezustand befindet nicht.
  • Ein Prozess wird angehalten Zustand, wenn es ein Stoppsignal empfängt.
  • Zombie Zustand ist, wenn ein Prozess tot ist, aber der Eintrag für den Prozess noch in der Tabelle vorhanden ist.

Verschiedene Befehle für das Prozessmanagement in Linux

In Linux sind zwei Befehle verfügbar, um laufende Prozesse zu verfolgen. Diese beiden Befehle sind Top und Ps .

1. Der oberste Befehl zum Verwalten von Linux-Prozessen

Um die laufenden Prozesse auf Ihrem Rechner zu verfolgen, können Sie den top-Befehl verwenden.

$ top 

Der Befehl Top zeigt eine Liste von Prozessen an, die in Echtzeit ausgeführt werden, zusammen mit ihrer Speicher- und CPU-Auslastung. Lassen Sie uns die Ausgabe etwas besser verstehen:

  • PID :Eindeutige Prozess-ID, die jedem Prozess zugewiesen wird.
  • Benutzer :Benutzername des Prozesseigentümers.
  • PR :Priorität, die einem Prozess beim Planen gegeben wird.
  • NI: „schöner“ Wert eines Prozesses.
  • VIRT :Menge an virtuellem Speicher, die von einem Prozess verwendet wird.
  • RES :Größe des physischen Speichers, der von einem Prozess verwendet wird.
  • SHR :Größe des Arbeitsspeichers, der mit anderen Prozessen geteilt wird.
  • S :Zustand des Prozesses
    • ‘D’ =ununterbrechbarer Schlaf
    • „R“ =Laufen 
    • „S“ =schlafen 
    • „T“ =verfolgt oder gestoppt 
    • ‘Z’ =Zombie
  • %CPU :Prozentsatz der vom Prozess verwendeten CPU.
  • %MEM; Prozentsatz des vom Prozess verwendeten RAM.
  • ZEIT+: Gesamte vom Prozess verbrauchte CPU-Zeit.
  • Befehl :Befehl zum Aktivieren des Prozesses.

Sie können die Auf/Ab -Taste verwenden Pfeiltasten, um in der Liste nach oben und unten zu navigieren. Zum Beenden drücken Sie q . Um einen Prozess zu beenden, markieren Sie den Prozess mit den Pfeiltasten nach oben/unten und drücken Sie „k“.

Alternativ können Sie auch den Kill-Befehl verwenden, den wir später sehen werden.

2. ps-Befehl

ps-Befehl ist die Abkürzung für „Prozessstatus“. Es zeigt die aktuell laufenden Prozesse an. Anders als beim top-Befehl erfolgt die generierte Ausgabe jedoch nicht in Echtzeit.

$ ps

Die Terminologie ist wie folgt:

PID Prozess-ID
TTY Terminaltyp
ZEIT Gesamtlaufzeit des Prozesses
CMD Name des Befehls, der den Prozess startet

Um weitere Informationen mit dem Befehl ps zu erhalten, verwenden Sie:

$ ps -u

Hier:

  • %CPU stellt die Menge an Rechenleistung dar, die der Prozess benötigt.
  • %MEM stellt die Menge an Speicher dar, die der Prozess belegt.
  • STATUS stellt den Prozesszustand dar.

Während der Befehl ps nur die derzeit laufenden Prozesse anzeigt, können Sie ihn auch verwenden, um alle Prozesse aufzulisten.

$ ps -A 

Dieser Befehl listet sogar die Prozesse auf, die gerade nicht laufen.

3. Stoppen Sie einen Prozess

Um einen Prozess unter Linux zu stoppen, verwenden Sie das 'kill' Befehl. kill-Befehl sendet ein Signal an den Prozess.

Es gibt verschiedene Arten von Signalen, die Sie senden können. Die gebräuchlichste ist jedoch „kill -9“, was „SIGKILL ist ‘.

Sie können alle Signale auflisten mit:

$ kill -L

Das Standardsignal ist 15, was SIGTERM ist . Das heißt, wenn Sie nur den Kill-Befehl ohne Nummer verwenden, wird das SIGTERM-Signal gesendet.

Die Syntax zum Beenden eines Prozesses lautet:

$ kill [pid]

Alternativ können Sie auch :

verwenden
$ kill -9 [pid]

Dieser Befehl sendet ein „SIGKILL“-Signal an den Prozess. Dies sollte verwendet werden, falls der Prozess eine normale Kill-Anfrage ignoriert.

4. Priorität eines Prozesses ändern

Unter Linux können Sie zwischen Prozessen Prioritäten setzen. Der Prioritätswert für einen Prozess wird als „Niceness“-Wert bezeichnet. Der Nettigkeitswert kann von –20 reichen bis 19 . 0 ist der Standardwert.

Die vierte Spalte in der Ausgabe des obersten Befehls ist die Spalte für den Nettigkeitswert.

Um einen Prozess zu starten und ihm einen anderen Wert als den Standardwert zu geben, verwenden Sie:

$ nice -n [value] [process name]

Um den netten Wert eines bereits laufenden Prozesses zu ändern, verwenden Sie:

renice [value] -p 'PID'

Schlussfolgerung

Dieses Tutorial befasste sich mit der Prozessverwaltung in Linux. Hauptsächlich wurden die praktischen Aspekte des Prozessmanagements behandelt. Theoretisch ist Prozessmanagement ein umfangreiches Thema, dessen vollständige Behandlung den Rahmen dieses Tutorials sprengen würde.


Linux
  1. Meine Lieblings-Linux-Befehle zum Optimieren von Webbildern

  2. Spickzettel für allgemeine Linux-Befehle

  3. 10 Linux-Befehle für die Netzwerkdiagnose

  4. Linux Command Basics:7 Befehle für das Prozessmanagement

  5. Verwalten von Prozessen in Ubuntu Linux

Wie beendet man einen Prozess in Linux? Befehle zum Beenden

So listen Sie laufende Prozesse in Linux auf

Ps-Befehl in Linux (Prozesse auflisten)

So beenden Sie Zombie-Prozesse in Linux

Prozessüberwachung unter Linux

Gruppenverwaltungsbefehle in Linux