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
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.
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.
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.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.