Prozesse identifizieren
In Linux wird jedes laufende Programm oder jede laufende Anwendung als ein Prozess betrachtet. Jeder Prozess hat einen eindeutigen Bezeichner, der als Prozess-ID (PID) bezeichnet wird. Bevor Sie einen Prozess beenden können, müssen Sie ihn anhand seiner PID identifizieren.
Beginnen wir damit, zu lernen, wie man laufende Prozesse mit dem Befehl ps
anzeigt. Dieser Befehl zeigt Informationen über aktive Prozesse in Ihrem System an.
Öffnen Sie zunächst ein Terminal in der LabEx-VM-Umgebung und führen Sie den folgenden Befehl aus:
ps
Sie werden eine grundlegende Liste der Prozesse sehen, die in Ihrer aktuellen Terminalsitzung laufen. Die Ausgabe sollte in etwa so aussehen:
PID TTY TIME CMD
2104 pts/0 00:00:00 zsh
2116 pts/0 00:00:00 ps
Diese Ausgabe zeigt:
PID
: Die Prozess-ID-Nummer
TTY
: Der Terminaltyp, auf dem der Prozess läuft
TIME
: Die von dem Prozess verwendete CPU-Zeit
CMD
: Der Befehl, der den Prozess gestartet hat
Um eine umfassendere Liste aller auf dem System laufenden Prozesse zu sehen, verwenden Sie den folgenden Befehl mit zusätzlichen Optionen:
ps -aux
Die Optionen bedeuten:
-a
: Zeige Prozesse aller Benutzer an
-u
: Zeige eine detaillierte, benutzerorientierte Formatierung an
-x
: Schließe Prozesse ohne Steuerterminal ein
Die Ausgabe wird viel länger und detaillierter sein und alle auf dem System laufenden Prozesse anzeigen:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 167936 11876 ? Ss 10:30 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 10:30 0:00 [kthreadd]
...
labex 2104 0.0 0.1 11108 5456 pts/0 Ss 10:35 0:00 zsh
labex 2130 0.0 0.0 9828 3384 pts/0 R+ 10:36 0:00 ps -aux
Nun erstellen wir einen einfachen Hintergrundprozess, den wir zur Übung verwenden können:
sleep 300 &
sleep_pid=$!
Dieser Befehl startet einen Prozess, der 300 Sekunden (5 Minuten) lang "schlafen" (nichts tun) wird. Das Symbol &
lässt ihn im Hintergrund laufen, und $!
erfasst die PID des zuletzt gestarteten Hintergrundprozesses.
Lassen Sie uns überprüfen, ob der Prozess läuft:
echo "The sleep process ID is: $sleep_pid"
ps | grep sleep
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
The sleep process ID is: 2135
2135 pts/0 00:00:00 sleep
Jetzt wissen Sie, wie Sie Prozesse identifizieren und ihre PIDs finden. Im nächsten Schritt lernen wir, wie man diesen Prozess beendet.