Verwaltung von Prozessen in Ubuntu Linux

Verwaltung von Prozessen in Ubuntu Linux
Das Verwalten von Prozessen in Linux ist ein wichtiges Thema, das man lernen und versteht, da es sich um ein Multitasking -Betriebssystem handelt und viele Prozesse gleichzeitig fortgesetzt wird. Linux bietet viele Tools zum Verwalten von Prozessen, z. B. das Auflisten von laufenden Prozessen, das Töten von Prozessen, das Überwachungssystemnutzung usw. In Linux wird jeder Prozess durch seine Prozess -ID (PID) dargestellt. 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 abtöten oder interagieren, damit Sie wissen, wie Sie diese Prozesse verwalten, damit Ihr System reibungslos läuft. In Linux können Prozesse mit Befehlen wie verwaltet werden PS, Pstree, PGREP, PKILL, LSOF, TOP, NICE, Renice und Kill, usw.

Prozesse

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

  • Hintergrundprozesse
  • Vordergrundprozesse

Hintergrundprozesse

Hintergrundprozesse beginnen im Terminal und werden von selbst ausgeführt. Wenn Sie einen Prozess im Terminal ausführen, wird die Ausgabe in einem Terminalfenster angezeigt und Sie können mit ihm 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 am Ende des Befehls ein "&" -Schild hinzu, und es wird im Hintergrund ausgeführt. Es spart Ihnen Zeit und können einen anderen Prozess starten. Verwenden Sie die im Hintergrund ausgeführten Auflistungsprozesse.'Es werden alle laufenden Prozesse im Hintergrund angezeigt.

Zum Beispiel ist das Upgrade ein langer Prozess unter Linux. Es dauert zu viel Zeit, und wenn Sie während des Upgrades des Systems andere Dinge machen möchten, verwenden Sie den Befehl des Hintergrunds.

Ubuntu@Ubuntu: ~ $ sudo apt -Get Upgrade -y &

Es wird im Hintergrund laufen. Und Sie können in der Zwischenzeit mit anderen Programmen interagieren. Sie können überprüfen, wie viele und welche Prozesse im Hintergrund ausgeführt werden, indem Sie diesen Befehl eingeben.

Ubuntu@Ubuntu: ~ $ Jobs
[1]+ Sudo APT -Get Upgrade -y & ausführen

Vordergrundprozesse

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

Sie können jeden in Jobs aufgeführten Hintergrundprozess in den Vordergrund bringen, indem Sie den Befehl "FG" eingeben, gefolgt von der Hintergrundprozessnummer.

Ubuntu@Ubuntu: ~ $ fg %1
sudo apt -Get Upgrade -y

Und wenn Sie diesen Prozess zum Hintergrundtyp dieses Befehls bringen möchten.

Ubuntu@Ubuntu: ~ $ BG %1

Auflistung und Verwaltung von Prozessen mit PS -Befehl

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

Ubuntu@Ubuntu: ~ $ ps u
Benutzer PID %CPU %mem vsz RSS TTY STAT STAT START TIME -Befehl
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 Daututh
Jim 2919 0.0 0.0 11328 4660 Punkte/0 SS 13:08 0:00 Bash
Jim 15604 0.0 0.0 11836 3412 Punkte/0 r+ 17:19 0:00 ps u
… Schnipsel…

Die Benutzerspalte zeigt den Benutzernamen in der obigen Tabelle an und PID zeigt die Prozess -ID an. Sie können die PID verwenden, um das Kill -Signal an einen Prozess zu töten oder zu senden. %CPU zeigt CPU -Prozentprozessor und %mem zeigt den Zufallszugriffsspeicherverbrauch. Um einen Prozess zu töten, geben Sie an.

Ubuntu@Ubuntu: ~ $ Kill [Prozess -ID (PID)]

oder

Ubuntu@Ubuntu: ~ $ Kill -9 [Prozess -ID (PID)]

Verwenden Sie den Befehl ps aux, um alle laufenden Prozesse anzuzeigen und ein Rohr hinzuzufügen, um es in der Reihenfolge zu sehen.

Ubuntu@Ubuntu: ~ $ PS Aux | weniger

Wenn Sie die Spalten neu ordnen möchten, können Sie dies durch Hinzufügen eines Flags tun -e für die Auflistung aller Prozesse und Für die Anzeige für die Spalten nach Schlüsselwörtern im PS -Befehl.

Ubuntu@Ubuntu: ~ $ ps -eo PID, Benutzer, UID,%CPU,%mem, VSZ, RSS, Comm
PID -Benutzer UID %CPU %mem VSZ RSS -Befehl
1 root 0 0.1 0.1 167848 11684 systemiert
3032 Jim 1000 16.5 4.7 21744776 386524 Chrom
… Schnipsel…

Optionen für PS -Befehl.

U -Option wird zum Auflisten der Prozesse durch die Benutzer verwendet.

Ubuntu@Ubuntu: ~ $ ps u

F Option wird verwendet, um die vollständige Auflistung anzuzeigen.

Ubuntu@Ubuntu: ~ $ ps f

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

Ubuntu@Ubuntu: ~ $ ps x

Die Option wird verwendet, um erweiterte Informationen anzuzeigen.

Ubuntu@Ubuntu: ~ $ ps e

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

Ubuntu@Ubuntu: ~ $ ps a

V Option wird verwendet, um das virtuelle Speicherformat anzuzeigen.

Ubuntu@Ubuntu: ~ $ ps v

Flags für PS -Befehl.

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

Ubuntu@Ubuntu: ~ $ ps -e

-Das U -Flag wird verwendet, um Prozesse als Root zu sehen.

Ubuntu@Ubuntu: ~ $ ps -u

-F Flag wird für eine vollständige Auflistung von Prozessen verwendet.

Ubuntu@Ubuntu: ~ $ ps -f

-o Flag wird zum Auflisten der Prozesse in der gewünschten Spalte verwendet.

Ubuntu@Ubuntu: ~ $ ps -o
Pstree

Pstree ist ein weiterer Befehl, um die Prozesse aufzulisten. Es zeigt die Ausgabe in einem Baumformat an.

Ubuntu@Ubuntu: ~ $ pstree

Optionen für den Pstree -Befehl

-N wird zum Sortieren von Prozessen nach PID verwendet.

Ubuntu@Ubuntu: ~ $ pstree -n

-H wird zum Hervorheben von Prozessen verwendet.

Ubuntu@Ubuntu: ~ $ pstree -h [PID]
Ubuntu@Ubuntu: ~ $ pstree -h 6457

-A wird zur Anzeige der Ausgabe verwendet, einschließlich Befehlszeilenargumente.

Ubuntu@Ubuntu: ~ $ pstree -a

-G wird zur Anzeige von Prozessen nach Gruppen -ID verwendet.

Ubuntu@Ubuntu: ~ $ pstree -g

-S wird zum Aussaat des Baumes oder des spezifischen Prozesses verwendet.

Ubuntu@Ubuntu: ~ $ pstree -s [PID]
Ubuntu@Ubuntu: ~ $ pstree -s 6457

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

Ubuntu@Ubuntu: ~ $ pstree [Benutzername]
Ubuntu@Ubuntu: ~ $ pstree jim
PGREP

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

Ubuntu@Ubuntu: ~ $ PGREP [Option] [Muster]
Ubuntu@Ubuntu: ~ $ pGrep -u Jim Chrome
Optionen für PGREP -Befehl

-ich wird zum Suchen von Fall unempfindlich verwendet

Ubuntu@Ubuntu: ~ $ pGrep -i Firefox

-D wird zur Abgrenzung des Ausgangs verwendet

Ubuntu@Ubuntu: ~ $ pGrep -u jim -d:

-u wird verwendet, um einen Prozess zu finden, der einem Benutzer gehört

Ubuntu@Ubuntu: ~ $ pGrep -u jim

-A wird für die Auflistungsprozesse neben ihren Befehlen verwendet

Ubuntu@Ubuntu: ~ $ pGrep -u jim -a

-C wird verwendet, um die Anzahl der Matching -Prozesse anzuzeigen

Ubuntu@Ubuntu: ~ $ pGrep -c -u jim

-l wird zum Auflistungsprozesse und deren Name verwendet

Ubuntu@Ubuntu: ~ $ pGrep -u jim -l
Pkill

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

Ubuntu@Ubuntu: ~ $ pkill [Optionen] [Muster]
Ubuntu@Ubuntu: ~ $ pkill -9 Chrom
Optionen für PKILL -Befehl

-Signal wird zum Senden eines Signals e verwendet.G. Sigkill, Sigterm usw.

Ubuntu@Ubuntu: ~ $ pkill -signaler sigterm VSCODE

-Hup wird zum Nachladen eines Prozesses verwendet

Ubuntu@Ubuntu: ~ $ pkill -hup syslogd

-F wird zum Töten von Prozessen verwendet, die auf der vollständigen Befehlszeile basieren.

Ubuntu@Ubuntu: ~ $ pkill -f “Ping 7.7.7.7 ”

-u wird verwendet, um alle Prozesse eines Benutzer zu töten.

Ubuntu@Ubuntu: ~ $ pkill -u jim

-ich wird für die unempfindliche Tötung des Prozesses durch PKILL verwendet.

Ubuntu@Ubuntu: ~ $ pkill -i Firefox

-9 wird zum Senden eines Kill -Signals verwendet.

Ubuntu@Ubuntu: ~ $ pkill -9 Chrom

-15 wird zum Senden eines Terminierungssignals verwendet.

Ubuntu@Ubuntu: ~ $ PKILL -15 VLC
LSOF (Liste der geöffneten Dateien)

Dieses Befehlszeilendienstprogramm wird für die Auflistung von Dateien verwendet, die von mehreren Prozessen geöffnet werden. Und wie wir wissen, erkennen alle Unix/Linux -Systeme alles als Datei, sodass es bequem ist, den Befehl LSOF zu verwenden, um alle geöffneten Dateien aufzulisten.

Ubuntu@Ubuntu: ~ $ lsof

In der obigen Tabelle von LSOF-Befehl repräsentiert FD die Dateibeschreibung. bedeutet Root Directory. 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 der geöffneten Dateien mit ihrem Prozessnamen verwendet.

Ubuntu@Ubuntu: ~ $ lsof -c Chrom

-u wird für die Auflistung der geöffneten Dateien von einem Benutzer verwendet.

Ubuntu@Ubuntu: ~ $ lsof -u jim

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

Ubuntu@Ubuntu: ~ $ lsof -i

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

Ubuntu@Ubuntu: ~ $ lsof +d /home /

-P wird für die Auflistung der geöffneten Dateien nach einem Prozess verwendet.

Ubuntu@Ubuntu: ~ $ lsof -p 1342

Auflistung und Verwaltungsprozess mit Top -Befehl

Mit dem oberen Befehl können Sie eine Echtzeitansicht von Systemprozessen anzeigen, die ausgeführt werden. Es zeigt die Prozesse je nach CPU -Verwendung an. Sie können die Spalte nach Ihnen sortieren. Der Top -Befehl enthält auch einige Informationen zu Ihrem System, z. Verfahren.

Geben Sie den Befehl oben ein, um die ausgeführten Prozesse aufzulisten.

Ubuntu@Ubuntu: ~ $ TOP
Aufgaben: 291 Gesamt, 1 Laufen, 290 Schlaf, 0 gestoppt, 0 Zombie
%CPU (s): 2.3us, 0.3Sy, 0.0ni, 97.0id, 0.3wa, 0.0HI, 0.0SI, 0.0st
MIB Mem: 7880.6 insgesamt, 1259.9 kostenlos, 3176 verwendet, 3444.4 Buff/Cache
MIB -Swap: 2048.0 Gesamt, 2048.0 kostenlos, 0.0 verwendet. 4091.8 Nutzen Sie Mem
PID -Benutzer PR Ni Vird Res %CPU %Mem Time+ Befehl
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
… .Schnipsel .. .

Sie können auch einige Aktionen mit dem Top -Befehl ausführen, um Änderungen bei Auslaufprozessen vorzunehmen. Hier ist die Liste unten.

  • u Durch Drücken von „U“ können Sie einen von einem bestimmten Benutzer ausgeführten Vorgang anzeigen.
  • M Durch Drücken von „M“ können Sie eher nach RAM -Verwendung als nach CPU -Nutzung arrangieren.
  • P Durch Drücken von „P“ können Sie nach der CPU -Verwendung sortieren.
  • 1 Durch Drücken des Schalters "1" zwischen der CPUs -Verwendung, wenn es mehr als einen gibt.
  • R Durch Drücken von „R“ können Sie Ihre Ausgangsart umgekehrt machen.
  • H Durch Drücken von „H“ können Sie zur Hilfe gehen und eine beliebige Taste drücken, um zurückzukehren.

Beachten Sie, welcher Prozess mehr Speicher oder CPU verbraucht. Diejenigen Prozesse, die mehr Speicher verbrauchen, können getötet werden, und die Prozesse, die mehr CPU verbrauchen.

Töte einen Prozess an der Spitze: Drücken Sie k und schreiben Sie die Prozess -ID, die Sie töten möchten. Dann Typ 15 oder 9, um normal oder sofort zu töten; Sie können einen Prozess auch mit einem Kill- oder Killall -Befehl töten.

Renice einen Prozess oben: Drücken Sie R und schreiben. Sie werden aufgefordert, die PID des Prozesses zu tippen, und dann den Wert der Versammlung, die Sie diesen Prozess zwischen -19 und 20 geben möchten (-19 bedeutet die höchste Bedeutung und 20 bedeutet die niedrigste Bedeutung).

Auflistung und Verwaltung von Prozessen mit dem Systemmonitor

Linux verfügt. 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 Prozesse in Spalten sehen. Durch die rechte Klicken Sie mit der rechten Maustaste können Sie den Prozess töten, anhalten oder renice.

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

  • Eigenschaften- Zeigen Sie andere Einstellungen im Zusammenhang mit einem Prozess.
  • Speicherkarten- Zeigen Sie Systemspeicherkarten, um anzuzeigen, welche Bibliothek und andere Komponenten für den Prozess im Speicher verwendet werden.
  • Datei öffnen- zeigt, welche Dateien durch den Prozess geöffnet werden.
  • Priorität ändern- Zeigen Sie eine Seitenleiste an, aus der Sie den Vorgang mit den Optionen von sehr hoch bis sehr niedrig und kundenspezifisch renice.
  • Stoppen- macht den Vorgang nach, bis Sie sich auswählen, um fortzufahren.
  • Weitermachen- startet einen pausierten Prozess neu.
  • Töten- Force tötet einen Prozess sofort.

Einen Prozess mit Kill und Killall töten

Der Befehl zum Töten und Killall wird verwendet, um einen Laufprozess zu töten/zu beenden. Diese Befehle können auch zum Senden eines gültigen Signals an einen laufenden Vorgang verwendet werden, z. B. die Anweisung eines Prozesses, die Konfigurationsdateien fortzusetzen, zu beenden oder neu zu lesen usw. Signale können auf beide Arten nach Zahlen oder namentlich geschrieben werden. Das Folgende sind einige häufig verwendete Signale.

Signalnummer Beschreibung

Seufzer 1 erkennt das Aufhängensignal am Steuerterminal fest.
SIGINT 2 von der Tastatur interpretiert.
Sigquit 3 gibt von der Tastatur auf.
Sigill 4 illegale Anweisungen.
Sigtrap 5 wird zur Verfolgung einer Trape verwendet.
SIGABRT 6 wird zum Abbrechen von Signal 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 wird.
Sigstop 17,19,23 wird zum Stoppen von Prozessen verwendet.

Verschiedene Werte von SigCont und SigStop werden in verschiedenen UNIX/Linux -Betriebssystemen verwendet. Detaillierte Informationen zu Signalen Typ Man 7 Signalanschluss.

Verwenden Sie den Befehl Kill zum Senden von Signal an PID zum Verarbeiten von PID.

Beachten Sie den Vorgang, an den Sie ein Kill -Signal senden möchten. Sie können die Prozess -ID (PID) nach PS oder Top -Befehl finden.

PID -Benutzer PR Ni Vird Res %CPU %Mem Time+ Befehl
7780 Jim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 TOP

Der Top -Prozess verbraucht 33.3% der CPU. Wenn Sie diesen Prozess töten möchten, um die CPU -Nutzung zu speichern, finden Sie hier einige Möglichkeiten, um diesen Prozess mit dem Kill -Befehl zu beenden.

Ubuntu@Ubuntu: ~ $ Kill 7780
Ubuntu@Ubuntu: ~ $ Kill -15 7780 oder $ Kill -Sigterm 7780
Ubuntu@Ubuntu: ~ $ Kill -9 7780 oder $ Kill -sigkill 7780

Verwenden Sie den Befehl Killall, Signale an einen Prozess per Namen zu senden.

Mit dem Befehl Killall müssen Sie nicht nach der Prozess -ID suchen. Sie können ein Kill -Signal an einen Prozess mit Namen anstatt als Prozess -ID senden. Es kann auch mehr Prozesse töten, als Sie möchten, wenn Sie nicht vorsichtig sind, e.G., "Killall Chrome" wird alle Chromprozesse töten, einschließlich derer, die Sie nicht töten möchten. Manchmal ist es nützlich, gleichnamige Prozesse abzutöten.

Wie der Befehl Kill können Sie die Signale mit Namen oder nach Nummer im Befehl Killall eingeben. Töte jeden Laufprozess mit dem Killall -Befehl; Sie müssen nur seinen Namen und das Signal eingeben, das Sie senden möchten. e.G., Senden Sie einen Kill -Signalverfahren Firefox mit dem Befehl Killall, schreiben Sie den folgenden Befehl.

Ubuntu@Ubuntu: ~ $ Killall -9 Firefox

oder

Ubuntu@Ubuntu: ~ $ Killall Sigkill Chrome

Ändern der Priorität mit Nizza und Renice

Jeder Prozess auf Ihrem Linux -System hat einen hervorragenden Wert und liegt zwischen -19 und 20. Es entschied, welcher Prozess mehr CPU -Zugriff im System erhalten würde. Je niedriger der Wert des Netten ist, desto mehr Zugriff hat ein Prozess auf den CPU -Prozess. Wie -16 haben schöne Werte mehr Zugriff auf die CPU als 18 nette Werte. Nur ein Benutzer mit Root -Berechtigungen kann einen negativen Wert von Nizza zuweisen. Ein normaler Benutzer kann nur den Wert von „Nizza“ zwischen 0 und 19 zuweisen. Ein regulärer Benutzer kann nur höhere nette Werte und zu seinen eigenen Prozessen zuweisen. Ein Root -Benutzer kann einen beliebigen Wert auf jeden Prozess festlegen.

Wenn Sie einem Prozess, der der CPU -Nutzung besser zugänglich ist.

Ubuntu@Ubuntu: ~ $ nice +3 Chrome

Und Renice den Prozess

Ubuntu@Ubuntu: ~ $ renice -n -6 3612

Abschluss

Hier ist die Anleitung zum Verwalten Ihres Linux -Systems mit PS, Top, LSOF, Pstree, Pkilll, Kill, Killall, Nizza, Renice usw. Einige Prozesse konsumieren den größten Teil der CPU -Verwendung und des RAM; Wenn Sie wissen, wie man sie verwaltet.