Linux-Prozesse beherrschen: Ein umfassendes Tutorial

Anzeige des TOP Befehls, welcher die Auslastung der CPU und RAM anzeigt

Ein Prozess ist eine Instanz eines Programms, das auf einem System läuft, und Linux bietet mehrere Methoden zur Verwaltung von Prozessen. In diesem Lernprogramm werden wir die Grundlagen des Umgangs mit Prozessen in Linux besprechen, z. B. das Starten von Prozessen, das Auflisten laufender Prozesse und das Anhalten von Prozessen. Außerdem gehen wir auf die Idee von Eltern- und Kindprozessen ein. Zu wissen, wie man Prozesse verwaltet, ist ein Muss für jeden Linux-Benutzer.

Wichtig zu wissen für eine Linux Zertifizierung

Erreiche Expertenwissen im Linux-Bereich - entdecke meinen umfassenden Videokurs für die LPIC-Zertifizierungen!

Mein Videokurs bietet dir den Vorteil des visuellen Lernens. Du kannst in deinem eigenen Tempo vorankommen und die Lektionen so oft wiederholen, wie du möchtest. Anhand anschaulicher Präsentationen und Live-Demos erläutere ich komplexe Konzepte und zeige dir praktische Anwendungen direkt am Bildschirm. Der Kurs ist speziell auf die LPIC-Prüfungen zugeschnitten. Du erhältst wertvolle Tipps und Tricks, um die Prüfungen erfolgreich zu meistern. Darüber hinaus bieten wir dir Übungsfragen und Quizzes, um dein Wissen zu überprüfen und dich optimal auf die Prüfungen vorzubereiten.

Greife jetzt zu und erhalte Zugriff auf meinen Videokurs zum Vorzugspreis, um dich optimal auf die LPIC-Zertifizierungen vorzubereiten und deine Linux-Karriere voranzutreiben!

Hier geht's zum Kurs: https://www.renefuerst.eu/kurse/lpic-2-bootcamp-in-30-tagen-zum-linux-engineer-201-450/

Starten von Prozessen

Ein Prozess ist eine laufende (aktive) Instanz eines Programms (passiv). In Linux gibt es verschiedene Methoden, um einen Prozess zu starten. In Linux kannst du einen Prozess über die Kommandozeile, Shell-Skripte oder eine grafische Benutzeroberfläche starten. Ein Prozess läuft standardmäßig mit den Rechten des Benutzers, der ihn ausführt.

Als Linux-Benutzer musst du wissen, wie man Prozesse verwaltet. Wenn du weißt, wie man Prozesse startet, auflistet und beendet, kannst du Ressourcen effizient verwalten und die Einhaltung von Vorschriften gewährleisten.

Der Betrieb läuft reibungslos. In dieser Lektion lernst du einige Befehle kennen, die dir einen wichtigen Einblick in die Prozesse geben, die auf deinem Linux-System laufen.

Wenn ein Prozess gestartet wird, weist Linux ihm eine Prozess-ID (PID) zu, eine eindeutige Kennung. Dabei handelt es sich um einen numerischen Wert, den das System verwendet, um die Prozesse, die auf dem System ausgeführt werden, zu verfolgen und zu verwalten. PIDs sind Zahlen, deren Bereich von der Kernelversion abhängt. PID 0 ist für den Swapper- oder Scheduler-Prozess reserviert, während PID 1 für den Init-Prozess reserviert ist, der beim Hochfahren des Systems als erstes ausgeführt wird.
Aktive Prozesse auflisten
Mit dem Befehl 'ps' ('process status*) kannst du alle laufenden Prozesse auf deinem System auflisten. Er zeigt Informationen über die Prozesse an, die gerade in deiner Terminalsitzung ausgeführt werden.

$ps

Das Programm "ps" verfügt über mehrere Optionen, um Informationen über alle auf deinem System laufenden Prozesse und ihre PIDs anzuzeigen. Mit der Option "-ef" erhältst du ausführliche Informationen über alle Prozesse, die auf deinem System laufen. Dazu gehören die Prozess-ID (PID), die übergeordnete Prozess-ID (PPID), der Benutzer, der den Prozess gestartet hat, die Menge an CPU und RAM, die der Prozess verwendet, und der Befehl, der den Prozess gestartet hat.

$ps -ef

Die Option "aux", die Informationen über alle auf deinem System laufenden Prozesse liefert, ist ebenfalls sehr nützlich.

Mit dieser Option ist es möglich, jeden Prozess, der auf einem System aktiv ist, im Auge zu behalten.

$ps aux

Im Vergleich zur Option "aux", die eine benutzerfreundlichere Ausgabe erzeugt, bietet die Option "-ef" detailliertere Informationen. Der Befehl "ps" hat eine Reihe von Argumenten, die du verwenden kannst, um die Ausgabe anzupassen. Einige der hilfreichsten "ps"-Befehlsoptionen sind in Tabelle 1 aufgeführt.

Folgende Aufzählung zeigt den "ps"-Befehl:

  • ps -e: Listet alle aktiven Prozesse im System auf.
  • ps -f: Zeigt eine vollständige Liste aller aktiven Prozesse an, die vom Benutzer initiiert wurden, einschließlich übergeordneter Prozess-IDs, Sitzungs-IDs und Prozessgruppen-IDs.
  • ps -ef: Zeigt eine vollständige Liste aller aktiven Prozesse an, einschließlich zusätzlicher Informationen wie Benutzername, Startzeit und dem Befehl, mit dem der Prozess gestartet wurde.
  • ps aux: Listet detailliert alle aktiven Prozesse im System auf, einschließlich aller Prozesse, die anderen Benutzern gehören. Die Ausgabe enthält wichtige Informationen wie Prozess-ID (PID), CPU- und RAM-Auslastung.
  • ps -C BEFEHL: Zeigt alle Prozesse an, die derzeit den angegebenen Befehl ausführen.
  • ps -u username: Zeigt alle Prozesse an, die dem angegebenen Benutzer gehören.
  • ps -o spaltenname: Legt die anzuzeigenden Spalten in der Ausgabe fest.
  • ps -p PID: Zeigt umfassende Daten zu einem bestimmten Prozess an, der anhand seiner Prozess-ID (PID) identifiziert wurde.

Prozesse beenden

In Linux kannst du einen Prozess, der gerade aktiv ist, mit dem Befehl 'kill' und der PID des Prozesses beenden.

$kill 1926

Der Befehl 'kill' weist den Prozess an, elegant zu sterben, indem er ihm ein Signal namens SIG TERM sendet. Wenn der Prozess nicht auf das SIGTERM-Signal reagiert, kann die Option "-9" mit dem Befehl "kill" verwendet werden, um ein Signal namens "SIGKILL" zu senden, das den Prozess beendet.

$kill -9 1926

Wenn der Prozess eine wichtige Tätigkeit ausführt, kann das Beenden mit dem Befehl "kill" unvorhergesehene Folgen wie Datenverlust oder andere Probleme haben. Daher sollte der Befehl "kill" nur mit Vorsicht und nur dann verwendet werden, wenn es nötig ist, um einen Prozess elegant anzuhalten oder ihn zu zwingen, sich schnell zu beenden. Der 'kill'-Befehl in Linux ist ein starkes Werkzeug, um Prozesse anzuhalten, und durch die Verwendung der Argumente kannst du das System effektiv verwalten.

Alle PIDs beenden eines Prozesses mit killall

Mit dem Befehl 'killall' kannst du alle Prozesse mit demselben Namen beenden. Wenn du z.B. alle Firefox-Prozesse beenden möchtest, gibst du an der Eingabeaufforderung folgendes ein:

$killall firefox

Um alle Prozesse zu beenden, die einem bestimmten Benutzer gehören, verwendest du die Option "-u". Du kannst zum Beispiel den folgenden Befehl verwenden, um alle Prozesse zu beenden, die dem Benutzer "rene" gehören.

$killall -u rene

Jeder Prozess in Linux hat einen Elternprozess

Wenn ein Prozess startet, weist Linux ihm eine eindeutige Prozess-ID (PID) und eine Elternprozess-ID (PPID) zu. Die PPID ist die Prozess-ID, die den aktuellen Prozess gestartet hat. Der neue Prozess wird zu einem Kindprozess des Prozesses, der ihn erzeugt hat, und erbt viele Eigenschaften des Elternprozesses, wie z. B. Umgebungsvariablen und Dateideskriptoren. Der Vorteil von Eltern- und Kindprozessen besteht darin, dass sie über IPC-Protokolle (Inter-Process Communication) wie Pipes, Sockets und Shared Memory miteinander kommunizieren können, um gemeinsam komplizierte Aufgaben zu erledigen und die Prozessverwaltung zu erleichtern.

Ein Elternprozess kann einem Kindprozess zum Beispiel signalisieren, dass er beendet werden soll, wenn er nicht mehr auf ihn reagiert. So wird verhindert, dass der Kindprozess zu viele Systemressourcen verbraucht und andere Probleme auslöst. Du kannst komplexe Aufgaben erledigen und Systemressourcen erfolgreich verwalten, wenn du verstehst, wie Eltern- und Kindprozesse funktionieren.

Hintergrundprozesse aufrechterhalten

Wenn du einen Prozess von der Kommandozeile aus startest, wird er mit der Terminalsitzung verknüpft, aus der er gestartet wurde.Sobald du dich von der Terminalsitzung abmeldest, beendet Linux den Prozess.Wenn du einen Prozess auch nach dem Beenden der Terminalsitzung weiterlaufen lassen willst, verwende den Befehl "nohup" ("no hangup").Dieser Befehl hat nichts mit der Terminalsitzung zu tun und wird auch nach dem Abmelden weiter ausgeführt. Gib "nohup" ein, gefolgt von dem Befehl, den du ausführen willst, um den "nohup"-Befehl zu verwenden. Zum Beispiel:

$nohup ./scriptname &

Alle Ausgaben des Prozesses, einschließlich Fehlermeldungen, werden als Ergebnis des "nohup"-Befehls in eine Datei namens "nohup.out" im aktuellen Verzeichnis geleitet.

[rene@]$ nohup ./backup.sh &
[1] 2685
[rene@]$ nohup: ignoring input and appending output to 'nohup.out'
[rene@]$

Unterscheidung zwischen Job und Prozess

In Linux ist ein Prozess ein laufendes Programm, während ein Job ein Prozess oder eine Gruppe von Prozessen ist, die von einer Shell verwaltet werden. Ein Job ist eine Methode zur Verwaltung von Prozessen, die über einen längeren Zeitraum innerhalb eines Prozesses laufen. Du kannst Job-Steuerungsbefehle verwenden, um verschiedene Operationen mit Jobs auszuführen. Wenn ein Job in einer Terminalsitzung gestartet wird, erhält er eine eindeutige Job-ID (JID), die zur Identifizierung und Verwaltung der Prozesse des Jobs dient. Die Prozess-ID (PID) und die JID sind nicht dasselbe. Die JID verwaltet die Aufgabe, während die PID die einzelnen Prozesse innerhalb der Aufgabe verwaltet.
Da eine Aufgabe aus zahlreichen Prozessen bestehen kann, die nacheinander oder parallel laufen, ist die Verwendung der Job-ID bequemer als die Verfolgung der einzelnen Prozesse.
Mit Job-Steuerungsbefehlen kannst du den Job als Einheit steuern und ihn als Gruppe anhalten, neu starten oder beenden. Prozessbefehle hingegen werden verwendet, um einzelne Prozesse zu verwalten.

Wechseln des Fokus eines Prozesses vom Vordergrund in den Hintergrund und umgekehrt

Ein Prozess, der über die Befehlszeile gestartet wird, läuft standardmäßig im Vordergrund. Er bleibt mit der Terminalsitzung verbunden und zeigt seine Ausgaben im Terminalfenster an.

Du kannst jedoch das Symbol "&" am Ende des Befehls verwenden, um einen Prozess in den Hintergrund zu verschieben, so dass du die Terminalsitzung weiter nutzen kannst. Gib zum Beispiel den folgenden Befehl ein, um einen Hintergrundprozess namens "backup.sh" zu starten:

$ ./backup.sh

Wie unten dargestellt, startet dieser Befehl den Prozess im Hintergrund und gibt die Kontrolle über die Terminalsitzung an dich zurück:

[rene@]$ nohup ./backup &
[1] 3521
[rene@]$

Wenn du einen Prozess im Vordergrund gestartet hast und ihn in den Hintergrund verlagern möchtest, kannst du ihn mit der Tastenkombination "Strg+Z" anhalten und mit dem Befehl "bg" ("background") in den Hintergrund verlagern. Dieser Befehl nimmt einen angehaltenen Hintergrundprozess wieder auf. Die Shell gibt dem Prozess einen neuen Auftrag und fügt ihn der Liste der Hintergrundaufträge hinzu.

$bg
[rene@]$ ./backup2.sh
CTRL+Z
[1] Stopped /backup2.sh
[rene@]$ bg
[1]+ ./backup2.sh &
[rene@]$

Um anzuzeigen, dass der Job im Hintergrund ausgeführt wird, zeigt die Shell das letzte Zeichen '&' (ein kaufmännisches Und) an. Der Hintergrundbefehl holt standardmäßig den zuletzt angehaltenen Prozess in den Vordergrund. Es können mehrere Prozesse gleichzeitig angehalten werden. Um zwischen den verschiedenen Prozessen zu unterscheiden, hängst du die Jobnummer mit einem vorangestellten Prozentzeichen (%) an die Befehlszeile an.Verwende den folgenden Befehl, um den ersten angehaltenen Prozess in den Hintergrund zu bringen:

$bg %1

Der Befehl "fg" wird verwendet, um einen Prozess wieder in den Vordergrund zu bringen. Der Befehl "fg", der für "foreground" steht, wird verwendet, um eine Hintergrundaktivität in den Vordergrund zu bringen. Standardmäßig wird der Prozess, der zuletzt ausgesetzt oder in den Hintergrund verschoben wurde, wieder in den Vordergrund geholt. Du kannst auch angeben, welche Arbeit zum Vordergrundprozess gemacht werden soll, indem du ihre Jobnummer eingibst.

$fg %1

Das Ergebnis wird sein:

[rene@]$ fg %1
/backup.sh

Das Verschieben von Programmen in den Hintergrund oder in den Vordergrund ist eine nützliche Strategie zur Verwaltung von Terminalsitzungen unter Linux. Mit den Befehlen "&", "CTRL+Z", "bg" und "fg" kannst du Prozesse nach Bedarf starten, anhalten und fortsetzen und deine Terminalsitzung übersichtlich halten.

Befehl jobs

Hintergrundprozesse und angehaltene Prozesse werden häufig mit Jobnummern (JIDs) verwaltet, die sich, wie bereits erwähnt, von Prozess-IDs unterscheiden und verwendet werden, weil sie kürzer sind.

Der Befehl jobs zeigt die Prozesse an, die du angehalten hast, sowie die Prozesse, die im Hintergrund laufen. Angenommen, wir haben drei Jobs - Job 1, Job 2 und Job 3 - und geben an der Eingabeaufforderung den folgenden Befehl ein

$jobs

Das Ergebnis wird sein:

[rene@]$ jobs
[1] Running
 ./job1 &

[2]- Running
 ./job2 &
[3]+ Running ./job3 &

[rene@]$

Wenn ein Job endet und ein anderer beginnt, ordnet Linux die Arbeitsnummer neu zu. Einer der Hauptvorteile des Einsatzes von "Jobs" unter Linux ist, dass sie als eine Einheit verwaltet werden können. Du kannst zum Beispiel den Befehl "fg" verwenden, um einen Job in den Vordergrund zu bringen, oder den Befehl "bg", um einen Job in den Hintergrund zu verschieben. Für die Verwaltung von Linux-Terminalsitzungen ist es wichtig, den Unterschied zwischen Job-IDs und Prozess-IDs zu kennen.

Ändern der Priorität eines Prozesses in Linux

In Linux wird jedem Prozess eine Prioritätsstufe zwischen -20 und 19 zugewiesen, die bestimmt, wie viel CPU-Zeit er erhält. Eine Prioritätsstufe von -20 bedeutet die höchste Priorität, während 19 die niedrigste Priorität ist. Standardmäßig weist Linux den meisten Prozessen eine Prioritätsstufe von 0 zu. Mit dem Befehl "nice" kann ein Prozess mit einer bestimmten Prioritätsstufe gestartet werden. Um einen Prozess namens "longprocess" mit der Prioritätsstufe 10 zu starten, führst du zum Beispiel den folgenden Befehl aus:

$nice -n 10 ./backup

Der Befehl "renice" ändert die Prioritätsstufe eines laufenden Prozesses. Um die Prioritätsstufe eines Prozesses mit der PID 2554 auf 15 zu senken, führst du zum Beispiel den folgenden Befehl aus:
renice -n 15 2554

Der Befehl "renice" führt zu folgenden Ergebnissen:

[rene@]$ renice -n 15 2554 (process ID)_old priority 0, new priority 15

Mit dem Befehl 'renice' kannst du zwar die Priorität von Prozessen herabsetzen, aber als Nicht-Root-Benutzer kannst du die Priorität nicht erhöhen. Um dem Befehl mehr Bedeutung zu verleihen, verwende 'sudo'. Um z.B. die Priorität eines Prozesses mit der PID 2554 auf -10 zu erhöhen, verwende den folgenden Befehl:
sudo renice -p -10 2554

Im Folgenden siehst du die Ausgabe des Befehls "renice" mit "sudo":

[rene@]$ renice -n 5 2554
renice: failed to set priority for 2554 (process ID):
Permission denied
[rene@]$ sudo renice -n 5 2554
[sudo] password for rene:
2554 (process ID) old priority 15, new priority 5
[rene@]$

Das Argument "-u" des Befehls "renice" ermöglicht es dir, die Prioritätsstufe aller Prozesse, die einem bestimmten Benutzer gehören, gleichzeitig anzupassen. Um zum Beispiel die Prioritätsstufe aller Prozesse, die dem Benutzer 'rene' gehören, auf 5 zu ändern, gibst du Folgendes in die Eingabeaufforderung ein:

renice -n 5 -u rene

Durch die Zuweisung höherer Prioritätsstufen für wichtige Prozesse wird sichergestellt, dass sie genügend CPU-Zeit erhalten, um ihre Aufgaben zu erfüllen. Unwichtigen Prozessen werden niedrigere Prioritätsstufen zugewiesen, um zu verhindern, dass sie zu viel CPU-Zeit verbrauchen und andere Probleme auslösen.
Die Befehle "nice" und "renice" helfen dabei, sicherzustellen, dass wichtige Prozesse die benötigte CPU-Zeit erhalten.

Hier ist die Punkteliste mit den Befehlen und ihren Beschreibungen:

  • kill: Beendet einen Prozess.
  • kill -I: Gibt eine Liste von Signalnamen aus, die mit dem Befehl "kill" verwendet werden können.
  • kill -9: Beendet einen Prozess erzwungen.
  • killall: Beendet Prozesse anhand ihres Namens.
  • killall -u rene: Beendet alle Prozesse, die einem bestimmten Benutzer "rene" gehören.
  • bg: Setzt einen angehaltenen Prozess im Hintergrund fort.
  • fg: Bringt einen im Hintergrund laufenden Job in den Vordergrund.
  • jobs: Zeigt den Status von aktuell laufenden oder angehaltenen Jobs im Hintergrund an.
  • nice: Führt ein Programm mit geänderter Priorität aus.
  • renice: Ändert die Priorität laufender Prozesse.
  • top: Zeigt interaktiv in Echtzeit die aktuell ausgeführten Linux-Prozesse an.
  • htop: Ein interaktives und benutzerfreundliches Prozessüberwachungstool für Linux.
  • atop: Ein Echtzeit-Systemmonitor, der eine anatomische Ansicht der Systemleistung anzeigt.
  • glances: Ein plattformübergreifendes Tool, das eine umfassende Ansicht der Leistung Ihres Systems auf benutzerfreundliche Weise bietet.
  • pstree: Zeigt einen Baum von Prozessen an.
  • pidof: Findet die Prozess-ID eines laufenden Programms.
  • pgrep: Sucht nach Prozessen anhand des Namens und anderer Attribute und sendet Signale an diese.

Der Befehl 'top'

Der Befehl "top" ist ein leistungsfähiges Werkzeug, um Prozesse und ihre Ressourcenauslastung in Echtzeit auf einem Linux-System zu überwachen. Wenn du diesen Befehl verwendest, zeigt er eine interaktive Ansicht der Prozesse an, die gerade ausgeführt werden, geordnet nach der Menge an CPU-Zeit, die sie verbrauchen. Das Ergebnis des Befehls "top" enthält Informationen über jeden Prozess, wie z. B. die Prozess-ID, den Benutzer, der den Prozess gestartet hat, die CPU-Zeit und den Speicherverbrauch sowie den Befehl, der den Prozess gestartet hat.

Die Ausgabe wird in Echtzeit aktualisiert, was eine dynamische Überwachung der Prozesse in deinem System ermöglicht.
Mit dem Befehl "top" kannst du die Prozesse in deinem System jetzt interaktiv verwalten. Du kannst zum Beispiel den Befehl "k" verwenden, um einen Prozess zu beenden, den Befehl "r", um die Priorität eines Prozesses zu ändern, oder den Befehl "n", um die Anzahl der sichtbaren Prozesse zu ändern.

Der Befehl "top" ist ein äußerst nützliches Werkzeug für Systemadministratoren, die die Prozesse, die auf einem Linux-System laufen, in Echtzeit überwachen müssen. Mit diesem Befehl kannst du Prozesse, die übermäßig viel CPU- oder Speicherressourcen verbrauchen, schnell entdecken und geeignete Maßnahmen ergreifen, um sie effektiv zu verwalten und sicherzustellen, dass dein System reibungslos und effizient läuft.

Wichtige Optionen für den "top"-Befehl

Der Befehl "top" hat mehrere Optionen, mit denen du die Ausgabe anpassen und zusätzliche Informationen anzeigen lassen kannst. Die Option "-d", mit der du das Intervall zwischen den Aktualisierungen auswählen kannst, ist äußerst nützlich. Die Ausgabe des Befehls "top" wird standardmäßig alle 3 Sekunden aktualisiert. Du kannst jedoch mit der Option "-d" ein anderes Aktualisierungsintervall festlegen. Um die Ausgabe zum Beispiel alle 5 Sekunden zu aktualisieren, gibst du Folgendes in die Eingabeaufforderung ein:

$top -d 5

Eine weitere praktische Option ist "-p", mit der du die Prozess-IDs der zu überwachenden Prozesse angeben kannst.
Das ist nützlich, wenn du nur einzelne Prozesse und nicht das gesamte System überwachen willst. Um zum Beispiel Prozesse mit den PIDs 2554 und 3656 zu überwachen, gibst du Folgendes in die Eingabeaufforderung ein:

$top -p 2554,3656

Mit dem Befehl "z" kannst du außerdem festlegen, ob alle Prozesse auf deinem System angezeigt werden sollen oder nur die, die gerade CPU-Zeit in Anspruch nehmen. Das ist wichtig, wenn du dich auf die Prozesse konzentrieren willst, die die meiste CPU-Zeit beanspruchen, während du die Prozesse, die im Leerlauf sind, ignorierst.

Wie verwendest du den Befehl "top" im Batch-Modus?

Standardmäßig zeigt das Programm "top" eine dynamische Darstellung der Prozesse an, die auf deinem System laufen, sortiert nach CPU-Auslastung. Im Batch-Modus kannst du mit dem Befehl "top" jedoch auch eine statische Übersicht über die Prozesse in deinem System erstellen. Dazu musst du die Option "-b" verwenden. Anstatt einer dynamischen Ansicht weist diese Option den Befehl "top" an, einen statischen Bericht über die Prozesse in deinem System zu erstellen. Wenn du zum Beispiel einen Bericht über die auf deinem System laufenden Prozesse erstellen und in einer Datei namens "processes.txt" speichern möchtest, führe den folgenden Befehl aus:

$top -b -n 1

Das Argument "-n" gibt die Anzahl der Iterationen an, die der Befehl "top" durchführen soll, bevor er den Bericht erstellt.In diesem Fall weist die Option "-n 1" den Befehl "top" an, eine Iteration durchzuführen, bevor er den Bericht erstellt.Wenn du den Befehl "top" im Batch-Modus ausführst, wird die Ausgabe in einer einfachen Textdatei gespeichert. Die Datei kann dann in einem Texteditor geöffnet oder zur weiteren Bearbeitung in ein Tabellenkalkulationsprogramm importiert werden. Im Stapelverarbeitungsmodus kann der Befehl "top" eine statische Zusammenfassung der Prozesse auf einem Linux-System im Klartextformat erstellen, die sich leicht analysieren und mit anderen teilen lässt.

Andere Befehle, die mit "top" vergleichbar sind

Andere Befehle, die dem Befehl "top" ähneln, können verwendet werden, um die gleichen Ergebnisse zu erzielen. Hier sind einige der beliebtesten Befehle: "htop": htop" ist eine erweiterte Version des Befehls "top", mit der du Prozesse nach verschiedenen Kriterien organisieren, nach bestimmten Prozessen suchen und ausführliche Informationen über jeden Prozess untersuchen kannst.

'atop': Im Vergleich zum Befehl "top" bietet "atop" eine detailliertere Übersicht über die Prozesse, die auf deinem System laufen. Damit kannst du auf historische Daten zu den auf deinem System laufenden Prozessen sowie auf Echtzeitdaten zugreifen, die dir helfen können, Trends und Muster im Verhalten deines Systems zu erkennen.

'glances': Dies ist eine plattformübergreifende, benutzerfreundliche Anwendung, die ein umfassendes Bild der Systemleistung, einschließlich CPU-, Speicher-, Festplatten- und Netzwerkaktivitäten, liefert.

Jedes dieser Instrumente hat seine eigenen Vor- und Nachteile.'top', das in den meisten Linux-Distributionen enthalten ist, ist eine fantastische Wahl für ein einfaches und leichtgewichtiges Dienstprogramm, das Echtzeitinformationen über die auf deinem System laufenden Prozesse liefert. Wenn du ein Tool brauchst, das sowohl historische als auch Echtzeitdaten über die Prozesse in deinem System liefert, ist "atop" die bessere Wahl. Wenn du eine benutzerfreundliche Anwendung für mehrere Plattformen brauchst, die einen vollständigen Überblick über die Leistung deines Systems bietet, ist "glances" vielleicht die bessere Wahl, weil es alle Informationen an einem Ort bereitstellt. Welches Tool für die Überwachung der Prozesse auf deinem Linux-System am besten geeignet ist, hängt von deinen individuellen Bedürfnissen und Vorlieben ab.

pstree": Zeigt eine baumartige Darstellung aller Prozesse an, die derzeit auf dem System laufen, was nützlich ist, um die Beziehungen zwischen Eltern- und Kindprozessen zu visualisieren.

'pidof ': Dieser Befehl gibt die Prozess-ID (PID) eines laufenden Programms anhand seines Namens zurück. Wenn du z. B. die PID des Chrome-Prozesses ermitteln möchtest, verwende den Befehl:

$pidof firefox

'pgrep': This command searches for processes based on attributes such as name or owner. For example, to find all processes owned by the user ravi, use the following command:

$pgrep -u rene

Diese Befehle können in bestimmten Situationen nützlich sein, und wenn du sie beherrschst, kannst du Prozesse in Linux effektiver verwalten.In diesem Artikel haben wir uns verschiedene Befehle zur Überwachung von Prozessen in einem Linux-System angesehen.

Wir haben über die Befehle "ps", "kill", "nice", "renice", "bg", "fg" und "top" gesprochen, sowie über ihre am häufigsten verwendeten Alternativen "nice" und "renice" zur Änderung der Prozesspriorität. Andere Befehle, wie "htop", "atop" und "glances", können ähnliche Ergebnisse erzielen. Wenn du diese Befehle und ihre Alternativen kennst, erhältst du nützliche Einblicke in die Prozesse, die auf deinem Linux-System laufen, und kannst deine Systemressourcen effizienter verwalten.

DER NEWSLETTER FÜR IT-BEGEISTERTE

Trag dich ein für den Newsletter und bleib auf dem Laufenden über alle neuesten Aktionen und IT-News!

Wir senden keinen Spam! Erfahre mehr in unserer Datenschutzerklärung.