Yet Another Linux Tutorial

Die Shell Dateien Editoren Backups Archive Laufwerke Prozesse
Administration Netzwerk Userverwaltung Rechte Links Suchen

Prozesse


Die Prozess ID, PID
Prozesse anzeigen/killen mit ps und kill
Prozesse anzeigen/killen mit pgrep und pkill

[top] Die Prozess ID, PID


Da es für das Betriebssystem einfacher ist mit Zahlen umzugehen hat jeder gestartete Prozess eine eindeutige ID die so genannte PID. Zu finden ist die PID zu einem Prozess entweder mit pgrep oder ps. Weiters befindet sich auch zu jedem Prozess ein Verzeichnis mit seiner PID unter /proc .


[top] Prozesse anzeigen/killen mit ps und kill


Manchmal will man wissen was gerade alles läuft, welcher Prozess wie viel Systemlast erzeugt oder Speicher braucht, oder welche Prozesse zu einem User gehören. Dazu benutzt man ps. Hat man die entsprechende Information (PID) kann man einen Prozess auch mit kill -9 PID beenden

ps zeigt Prozesse an
-A zeigt alle Prozesse an
-T zeigt alle Prozesse auf diesem Terminal an
-C Prozess listet nur die auf die "Prozess" heißen
-G Gruppe listet nur die Prozesse der "Gruppe" auf
-U User listet nur die Prozesse des "User" auf
-F genauere Auflistung
a listet alle Prozesse mit einem TTY auf
r listet nur gerade laufende Prozesse auf
x listet Prozesse mit und ohne einem TTY auf
Beispiele
ps -A | wc -l zählt die Anzahl aller (A) Prozesse die ps anzeigt.
ps U root -F listet alle Prozesse von (U) root auf mit mehr Infos (-F)
ps ax -F Zeigt alle Prozesse mit mehr Infos an. Das gleiche Ergebnis bekommt man mit ps -A -F
ls -d /proc/* | grep [0-9] | wc -l dieser 3 Teiler listet alle Verzeichnisse in /proc (ls) auf die nur Nummern (grep) enthalten, das sind die Prozesse, und zählt (wc) diese. Da alle Prozesse in /proc/ auf scheinen kann man diese mit ps vergleichen um z.B. festzustellen das kein rootkit installiert ist das sich vor ps verbirgt.

[top] Prozesse anzeigen/killen mit pgrep und pkill


Da der Umgang mit Zahlen nicht allen so leicht fällt gibt es noch diese beiden Befehle mit denen man auch ganz Einfach Prozesse killen oder deren PID raus finden kann

pgrep Prozessname zeigt Prozesse die "Prozessname" enthalten
pgrep -u user -l zeigt alle Prozesse von Benutzer "user"
pkill -u user killt alle Prozesse von Benutzer "user"
pkill bash -u user killt alle bash Sitzungen von Benutzer "user"
pkill Prozess killt alle Prozesse die "Prozess" enthalten
-x Prozess genau der Prozess (z.B. bei pgrep -x bas findet er keine bash bei pgrep bas schon)
-o bei mehreren Prozessen den mit der niedrigsten (ältesten) PID
-n bei mehreren Prozessen den mit der höchsten (jüngsten) PID
-l den Prozessnamen zur PID anzeigen
-v Angaben negieren