Prozessmanagement

Verwalten von Prozessen in Ubuntu Linux

Verwalten von Prozessen in Ubuntu Linux
Das Verwalten von Prozessen unter Linux ist ein wichtiges Thema, das es zu lernen und zu verstehen gilt, da es ein Multitasking-Betriebssystem ist und viele Prozesse gleichzeitig laufen. Linux bietet viele Tools zum Verwalten von Prozessen, z. B. das Auflisten von laufenden Prozessen, das Beenden von Prozessen, das Überwachen der Systemnutzung usw. Unter Linux wird jeder Prozess durch seine Prozess-ID (PID) repräsentiert. Es gibt einige andere Attribute für den Prozess wie Benutzer-ID und Gruppen-ID, wenn ein Benutzer oder eine Gruppe den Prozess ausführt. Manchmal müssen Sie einen Prozess beenden oder mit ihm interagieren, daher sollten Sie wissen, wie Sie diese Prozesse verwalten, damit Ihr System reibungslos läuft. Unter Linux können Prozesse mit Befehlen wie ps, pstree, pgrep, pkill, lsof, top, nett, renice und kill, usw.

Prozesse

Das Ausführen einer Instanz eines Programms wird als Prozess bezeichnet. Unter Linux wird die Prozess-ID (PID) verwendet, um einen Prozess darzustellen, der für jeden Prozess charakteristisch ist. Es gibt zwei Arten von Prozessen,

Hintergrundprozesse

Hintergrundprozesse starten im Terminal und laufen von selbst. Wenn Sie einen Prozess im Terminal ausführen, wird seine Ausgabe in einem Terminalfenster angezeigt und Sie können damit interagieren. Wenn Sie jedoch nicht mit dem Prozess interagieren müssen, können Sie ihn im Hintergrund ausführen. Wenn Sie einen Prozess im Hintergrund ausführen möchten, fügen Sie einfach ein „&“-Zeichen am Ende des Befehls hinzu und er wird im Hintergrund ausgeführt; es spart Ihnen Zeit und Sie können einen anderen Prozess starten. Um im Hintergrund laufende Prozesse aufzulisten, verwenden Sie den Befehl 'jobs.' Es werden alle laufenden Prozesse im Hintergrund angezeigt.

Zum Beispiel ist das Upgrade unter Linux ein langer Prozess. Es dauert zu lange, und wenn Sie während des Upgrades des Systems andere Dinge tun möchten, verwenden Sie den Hintergrundbefehl.

[email protected]:~$ sudo apt-get upgrade -y &

Es beginnt im Hintergrund zu laufen. Und Sie können in der Zwischenzeit mit anderen Programmen interagieren. Sie können überprüfen, wie viele und welche Prozesse im Hintergrund laufen, indem Sie diesen Befehl eingebentyp.

[email protected]:~$ Jobs
[1]+ Ausführen von sudo apt-get upgrade -y &

Vordergrundprozesse

Alle Prozesse, die wir im Terminal ausführen, werden standardmäßig als Vordergrundprozesse ausgeführt. Wir können sie durch Vordergrund- und Hintergrundbefehle verwalten.

Sie können jeden in Jobs aufgelisteten Hintergrundprozess in den Vordergrund bringen, indem Sie den Befehl 'fg' gefolgt von der Hintergrundprozessnummer eingeben.

[email protected]:~$ fg %1
sudo apt-get upgrade -y

Und wenn Sie diesen Prozess in den Hintergrund bringen möchten, geben Sie diesen Befehl ein.

[email protected]:~$ bg %1

Auflisten und Verwalten von Prozessen mit dem Befehl ps

Der Auflistungsprozess mit dem ps-Befehl ist eine der ältesten Möglichkeiten, die laufenden Prozesse des Terminals anzuzeigen view. Geben Sie den Befehl ps ein, um aufzulisten, welche Prozesse ausgeführt werden und wie viel Systemressourcen sie verwenden und wer sie ausführt.

[email protected]:~$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT STARTZEITBEFEHL
Jim 1562 0.0 0.0 164356 6476 tty2 Ssl+ 13:07 0:00 Shell
Jim 1564 5.2 0.9 881840 78704 tty2 Sl+ 3:07 13:13 dauth
Jim 2919 0.0 0.0 11328 4660 Punkte/0 Ss 13:08 0:00 Schlag
Jim 15604 0.0 0.0 11836 3412 Punkte/0 R+ 17:19 0:00 ps u
… schnippel…

Die Benutzerspalte zeigt den Benutzernamen in der obigen Tabelle und PID zeigt die Prozess-ID. Sie können die PID verwenden, um einen Prozess zu beenden oder das Kill-Signal an einen Prozess zu senden. %CPU zeigt den CPU-Prozentsatz des Prozessors und %MEM zeigt die Speichernutzung mit wahlfreiem Zugriff. Um einen Prozess zu beenden, geben Sie ein.

[email protected]:~$ kill [ Prozess-ID (PID) ]

oder

[email protected]:~$ kill -9 [Prozess-ID (PID)]

Verwenden Sie den Befehl ps aux, um alle laufenden Prozesse anzuzeigen, und fügen Sie eine Pipe hinzu, um sie der Reihe nach anzuzeigen.

[email protected]:~$ ps aux | Weniger

Wenn Sie die Spalten neu anordnen möchten, können Sie dies tun, indem Sie ein Flag hinzufügen -e zum Auflisten aller Prozesse und zum Angeben für die Spalten durch Schlüsselwörter im ps-Befehl.

[email protected]:~$ps -eo pid,user,uid,%cpu,%mem,vsz,rss,comm
PID USER UID %CPU %MEM VSZ RSS BEFEHL
1 Wurzel 0 0.1 0.1 167848 11684 systemiert
3032 jim 1000 16.5 4.7 21744776 386524 Chrom
… schnippel…

Optionen für den ps-Befehl.

u-Option wird verwendet, um die Prozesse durch die Benutzer aufzulisten.

[email protected]:~$ ps u

f-Option wird verwendet, um die vollständige Liste anzuzeigen.

[email protected]:~$ ps f

x-Option wird verwendet, um Informationen über den Prozess ohne Terminal anzuzeigen.

[email protected]:~$ ps x

Die Option wird verwendet, um erweiterte Informationen anzuzeigen.

[email protected]:~$ ps e

eine Option wird verwendet, um alle Prozesse mit dem Terminal aufzulisten.

[email protected]:~$ ps a

Die Option v wird verwendet, um das Format des virtuellen Speichers anzuzeigen.

[email protected]:~$ ps v

Flags für ps-Befehl.

-Das Flag wird verwendet, um jeden Prozess auf dem System zu sehen.

[email protected]:~$ ps -e

-Das u-Flag wird verwendet, um Prozesse anzuzeigen, die als Root ausgeführt werden.

[email protected]:~$ ps -u

-f Flag wird für eine vollständige Liste der Prozesse verwendet.

[email protected]:~$ ps -f

-o Flag wird verwendet, um die Prozesse in der gewünschten Spalte aufzulisten.

[email protected]:~$ ps -o
pstree

pstree ist ein weiterer Befehl zum Auflisten der Prozesse; es zeigt die Ausgabe in einem Baumformat.

[email protected]:~$ pstree

Optionen für den Befehl pstree

-nein wird für Sortierprozesse nach PID . verwendet.

[email protected]:~$ pstree -n

-H wird zum Hervorheben von Prozessen verwendet.

[email protected]:~$ pstree -H [PID]
[email protected]:~$ pstree -H 6457

-ein wird zum Anzeigen der Ausgabe verwendet, einschließlich Befehlszeilenargumente.

[email protected]:~$ pstree -a

-G wird verwendet, um Prozesse nach Gruppen-ID anzuzeigen.

[email protected]:~$ pstree -g

-so wird für die Aussaat des Baumes oder für ein bestimmtes Verfahren verwendet.

[email protected]:~$ pstree -s [PID]
[email protected]:~$ pstree -s 6457

[Nutzername] wird verwendet, um Prozesse anzuzeigen, die einem Benutzer gehören.

[email protected]:~$ pstree [Benutzername]
[email protected]:~$ pstree jim
pgrep

Mit dem Befehl pgrep können Sie einen laufenden Prozess anhand bestimmter Kriterien finden. Sie können den vollständigen Namen oder die Abkürzung des Prozesses verwenden, um ihn zu finden, oder nach Benutzername oder anderen Attributen. Der Befehl pgrep folgt dem folgenden Muster.

[email protected]:~$ Pgrep [Option] [Muster]
[email protected]:~$ pgrep -u jim chrome
Optionen für den Befehl pgrep

-ich wird für die Suche nach Groß-/Kleinschreibung verwendet

[email protected]:~$ Pgrep -i Firefox

-d dient zur Begrenzung der Ausgabe

[email protected]:~$ Pgrep -u jim -d:

-du wird verwendet, um Prozesse zu finden, die einem Benutzer gehören

[email protected]:~$ Pgrep -u jim

-ein wird verwendet, um Prozesse neben ihren Befehlen aufzulisten

[email protected]:~$ Pgrep -u jim -a

-c wird verwendet, um die Anzahl der übereinstimmenden Prozesse anzuzeigen

[email protected]:~$ Pgrep -c -u jim

-l wird zum Auflisten von Prozessen und deren Namen verwendet

[email protected]:~$ Pgrep -u jim -l
pkill

Mit dem Befehl pkill können Sie nach bestimmten Kriterien ein Signal an einen laufenden Prozess senden. Sie können den vollständigen Namen oder die Abkürzung des Prozesses verwenden, um ihn zu finden, oder nach Benutzername oder anderen Attributen. Der Befehl pgrep folgt dem folgenden Muster.

[email protected]:~$ Pkill [Optionen] [Muster]
[email protected]:~$ Pkill -9 Chrom
Optionen für den Befehl pkill

-Signal dient zum Senden eines Signals e.G. SIGKILL, SIGTERM usw.

[email protected]:~$ Pkill --signal SIGTERM vscode

-HUP wird zum Nachladen eines Prozesses verwendet

[email protected]:~$ Pkill -HUP syslogd

-f wird zum Beenden von Prozessen basierend auf der vollständigen Befehlszeile verwendet.

[email protected]:~$ Pkill -f “ping 7.7.7.7”

-du wird zum Beenden aller Prozesse verwendet, die einem Benutzer gehören.

[email protected]:~$ Pkill -u jim

-ich wird für die Groß-/Kleinschreibung des Prozesses durch pkill . verwendet.

[email protected]:~$ Pkill -i Firefox

-9 wird zum Senden eines Kill-Signals verwendet.

[email protected]:~$ Pkill -9 Chrom

-fünfzehn wird zum Senden eines Terminierungssignals verwendet.

[email protected]:~$ Pkill -15 vlc
lsof (Liste der geöffneten Dateien)

Dieses Befehlszeilen-Dienstprogramm wird zum Auflisten von Dateien verwendet, die von mehreren Prozessen geöffnet wurden. Und wie wir wissen, erkennen alle UNIX/Linux-Systeme alles als Datei, daher ist es praktisch, den Befehl lsof zu verwenden, um alle geöffneten Dateien aufzulisten.

[email protected]:~$ lsof

In der obigen Tabelle des lsof-Befehls steht FD für die Dateibeschreibung, cwd steht für das aktuelle Arbeitsverzeichnis, txt bedeutet Textdatei, mem bedeutet speicherabgebildete Dateien, mmap bedeutet speicherabgebildete Geräte, REG steht für eine reguläre Datei, DIR steht für Verzeichnis, rtd bedeutet Root-Verzeichnis. Es gibt andere Optionen, die Sie mit dem Befehl lsof verwenden können.

Optionen für den Befehl lsof.

-c wird für die Auflistung geöffneter Dateien nach ihrem Prozessnamen verwendet.

[email protected]:~$ lsof -c chrome

-du wird für die Auflistung geöffneter Dateien durch einen Benutzer verwendet.

[email protected]:~$ lsof -u jim

-ich wird für die Auflistung von Prozessen verwendet, die auf einem Port ausgeführt werden.

[email protected]:~$ lsof -i

+D wird für die Auflistung geöffneter Dateien unter einem Verzeichnis verwendet.

[email protected]:~$ lsof +D /home/

-p wird für die Auflistung geöffneter Dateien durch einen Prozess verwendet.

[email protected]:~$ lsof -p 1342

Auflisten und Verwalten von Prozessen mit dem obersten Befehl

Mit dem Befehl top können Sie eine Echtzeitansicht der laufenden Systemprozesse anzeigen. Es zeigt die Prozesse je nach CPU-Auslastung an. Sie können die Spalte nach Ihnen sortieren. Der Befehl top liefert auch einige Informationen über Ihr System, z. B. wie lange das System in Betrieb ist oder wie viele Benutzer mit dem System verbunden sind und wie viele Prozesse ausgeführt werden, wie viel CPU und RAM verwendet werden, und eine Auflistung von jedem Prozess.

Geben Sie den Befehl top ein, um die laufenden Prozesse aufzulisten.

[email protected]:~$ top
Aufgaben: 291 insgesamt, 1 läuft, 290 schlafend, 0 gestoppt, 0 Zombie
% CPU(s) : 2.3us, 0.3sy, 0.0ni, 97.0id, 0.3wa, 0.0hi, 0.0si, 0.0st
MiB-Speicher: 7880.6 insgesamt, 1259.9 frei, 3176 gebraucht, 3444.4 Stärkung/Cache
MiB-Swap: 2048.0 insgesamt, 2048.0 frei, 0.0 gebraucht. 4091.8 Avail-Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3241 jim 20 0 20.7g 33512 10082 S 1.7 4.2 0:54.24 Chrom
3327 jim 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 Chrom
2920 jim 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 chrom
3423 jim 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 Chrom
3030 jim 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 Chrom
3937 jim 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 Chrom
1603 jim 20 0 825608 67532 40416 S 0.3 0.8 3:13.52 Xorg
1756 jim 20 0 4154828 257056 10060 S 0.3 3.2 5:53.31 gnome-s+
1898 jim 20 0 289096 29284 5668 S 0.3 0.4 1:06.28 fusuma
3027 jim 20 0 587580 14304 75960 S 0.3 1.8 9:43.59 Chrom
3388 jim 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 Chrom
3409 jim 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 Chrom
3441 jim 20 0 16.5g 156396 89700 S 0.3 1.9 0:25.70 Chrom
… .schnippel… .

Sie können auch einige Aktionen mit dem Befehl top ausführen, um Änderungen an laufenden Prozessen vorzunehmen; hier ist die liste unten.

Beachten Sie, welcher Prozess mehr Speicher oder CPU verbraucht. Prozesse, die mehr Speicher verbrauchen, können beendet werden, und Prozesse, die mehr CPU verbrauchen, können umbenannt werden, um dem Prozessor weniger Bedeutung zu geben.

Beenden Sie einen Prozess oben: Drücken Sie k und schreiben Sie die Prozess-ID, die Sie töten möchten. Geben Sie dann 15 oder 9 ein, um normal oder sofort zu töten; Sie können einen Prozess auch mit einem kill- oder killall-Befehl beenden.

Renice einen Prozess an der Spitze: Drücken Sie r und schreiben Sie die PID des Prozesses, den Sie beneiden möchten. Sie werden aufgefordert, die PID des Prozesses einzugeben und dann den Wert von nicing, den Sie diesem Prozess zwischen -19 und 20 geben möchten (-19 bedeutet die höchste Wichtigkeit und 20 bedeutet die niedrigste Wichtigkeit).

Auflisten und Verwalten von Prozessen mit Systemmonitor

Linux hat einen Systemmonitor-Gnome, um die laufenden Prozesse dynamischer anzuzeigen. Um den Systemmonitor zu starten, drücken Sie die Windows-Taste und geben Sie den Systemmonitor ein, klicken Sie auf sein Symbol und Sie können die Prozesse in Spalten sehen see. Wenn Sie mit der rechten Maustaste darauf klicken, können Sie den Prozess beenden, stoppen oder reaktivieren.

Die laufenden Prozesse werden mit Benutzerkonten in alphabetischer Reihenfolge angezeigt. Sie können die Prozesse nach beliebigen Feldüberschriften wie CPU, Speicher usw. sortieren., Klicken Sie einfach darauf, und sie werden sortiert; Klicken Sie beispielsweise auf CPU, um zu sehen, welcher Prozess die meiste CPU-Leistung verbraucht. Um Prozesse zu verwalten, klicken Sie mit der rechten Maustaste darauf und wählen Sie die Option aus, die Sie mit dem Prozess ausführen möchten. Um den Prozess zu verwalten, wählen Sie die folgenden Optionen.

Beenden eines Prozesses mit kill und killall

kill und killall-Befehl wird zum Beenden/Beenden eines laufenden Prozesses verwendet. Diese Befehle können auch zum Senden eines gültigen Signals an einen laufenden Prozess verwendet werden, z. B. um einem Prozess mitzuteilen, dass er Konfigurationsdateien fortsetzen, beenden oder erneut lesen soll usw. Signale können auf beide Arten mit Zahlen oder Namen geschrieben werden. Im Folgenden sind einige häufig verwendete Signale aufgeführt.

Signalnummer Beschreibung

SIGHUP 1 Erkennt das Auflegesignal am Steuerterminal.
SIGINT 2 Von der Tastatur interpretiert.
SIGQUIT 3 Beenden über die Tastatur.
SIGILL 4 Unzulässige Anweisungen.
SIGTRAP 5 Wird zum Aufspüren eines Trapes verwendet.
SIGABRT 6 wird zum Abbruch des Signals von abort(3) verwendet.
SIGKILL 9 Wird zum Senden eines Kill-Signals verwendet.
SIGTERM 15 Wird zum Senden eines Terminierungssignals verwendet.
SIGCONT 19,18,25 Wird verwendet, um einen Prozess fortzusetzen, wenn er gestoppt wurde.
SIGSTOP 17,19,23 Wird zum Stoppen von Prozessen verwendet.

In verschiedenen Unix/Linux-Betriebssystemen werden unterschiedliche Werte von SIGCONT und SIGSTOP verwendet. Für detaillierte Informationen zu Signalen Typ man 7 Signalklemme.

Verwenden des kill-Befehls zum Senden eines Signals an die Verarbeitung von PID.

Notieren Sie den Prozess, an den Sie ein Kill-Signal senden möchten. Sie finden die Prozess-ID (PID) mit dem Befehl ps oder top.

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7780 jim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 oben

Der oberste Prozess verbraucht 33.3% der CPU. Wenn Sie diesen Prozess beenden möchten, um die CPU-Auslastung zu sparen, können Sie diesen Prozess mit dem Befehl kill beenden.

[email protected]:~$ kill 7780
[email protected]:~$ kill -15 7780 oder $ kill -SIGTERM 7780
[email protected]:~$ kill -9 7780 oder $ kill -SIGKILL 7780

Verwenden des Befehls killall zum Senden von Signalen an einen Prozess nach Namen.

Mit dem Befehl killall müssen Sie nicht nach der Prozess-ID suchen; Sie können ein Kill-Signal an einen Prozess über den Namen senden, anstatt über die Prozess-ID. Es kann auch mehr Prozesse beenden, als Sie möchten, wenn Sie nicht aufpassen, z.G., „killall chrome“ beendet alle Chrome-Prozesse, einschließlich derer, die Sie nicht töten möchten. Manchmal ist es sinnvoll, gleichnamige Prozesse zu beenden.

Wie beim kill-Befehl können Sie die Signale im killall-Befehl nach Namen oder nach Nummer eingeben. Beenden Sie jeden laufenden Prozess mit dem Befehl killall; Sie müssen nur den Namen und das Signal eingeben, das Sie senden möchten. e.G., Senden Sie ein Kill-Signal-Prozess-Firefox mit dem Befehl killall, schreiben Sie den folgenden Befehl.

[email protected]:~$ killall -9 Firefox

oder

[email protected]:~$ killall SIGKILL chrome

Ändern der Prozesspriorität mit nice and renice

Jeder Prozess auf Ihrem Linux-System hat einen ausgezeichneten Wert und liegt zwischen -19 und 20. Es hat entschieden, welcher Prozess mehr CPU-Zugriff im System erhält. Je niedriger der Wert von nice, desto mehr Zugriff hat ein Prozess auf den CPU-Prozess. -16 nette Werte haben mehr Zugriff auf die CPU als 18 schöne Werte. Nur ein Benutzer mit Root-Rechten kann einen negativen Wert für nice zuweisen. Ein normaler Benutzer kann nur den Wert „nice“ zwischen 0 und 19 . zuweisen. Ein normaler Benutzer kann nur höhere schöne Werte und eigene Prozesse zuweisen. Ein Root-Benutzer kann jedem Prozess einen beliebigen netten Wert setzen.

Wenn Sie einen Prozess für die CPU-Auslastung zugänglicher machen möchten, indem Sie den nice-Wert zuweisen, geben Sie den folgenden Befehl ein.

[email protected]:~$ nett +3 Chrom

Und reniere den Prozess

[email protected]:~$ renice -n -6 3612

Fazit

Hier ist die Anleitung zur Verwaltung Ihres Linux-Systems mit ps, top, lsof, pstree, pkilll, kill, killall, nice, renice usw. Einige Prozesse verbrauchen den größten Teil der CPU-Auslastung und des Arbeitsspeichers; zu wissen, wie man sie verwaltet, erhöht die Geschwindigkeit und Leistung Ihres Systems und bietet Ihnen eine bessere Umgebung, um alle gewünschten Prozesse effizienter auszuführen.

Beste Spielkonsolen-Emulatoren für Linux
Dieser Artikel listet beliebte Spielekonsolen-Emulationssoftware auf, die für Linux verfügbar ist. Emulation ist eine Softwarekompatibilitätsschicht, ...
Beste Linux-Distributionen für Gaming im Jahr 2021
Das Linux-Betriebssystem hat sich weit von seinem ursprünglichen, einfachen, serverbasierten Aussehen entfernt. Dieses Betriebssystem hat sich in den ...
So erfassen und streamen Sie Ihre Gaming-Sitzung unter Linux
In der Vergangenheit galt das Spielen von Spielen nur als Hobby, aber mit der Zeit verzeichnete die Spieleindustrie ein enormes Wachstum in Bezug auf ...