Ps: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „ Option Beschreibung (BSD) *l langes Format *U user zeige Prozesse des Users an! *u zeige für jeden Prozess Besitzer und Startzeit an *j Jobs-Format: Zeige…“)
 
 
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
=ps – Prozessstatus anzeigen=
  
Option Beschreibung (BSD)
+
==Optionen (POSIX-Stil)==
*l langes Format
+
*-l langes Format
*U user zeige Prozesse des Users an!
+
*-u user Prozesse eines Users anzeigen
*u zeige für jeden Prozess Besitzer und Startzeit an
+
*-f ausführliche Ausgabe (UID, PID, PPID, STIME, TTY, TIME, CMD)
*j Jobs-Format: Zeige PGID und SID an
+
*-j Jobs-Format (PGID, SID)
*s Informationen über Signale ausgeben
+
*-s Signal-Informationen anzeigen
*m Speicher-Informationen anzeigen
+
*-m Speicher-Informationen anzeigen
*f Baumstruktur der Prozesse anzeigen (ähnlich pstree)
+
*-e alle Prozesse aller Benutzer anzeigen
*a alle Prozesse (jedes Benutzers) anzeigen
+
*-x Prozesse ohne kontrollierendes Terminal anzeigen
*x kontrollierendes Terminal nicht anzeigen
+
*-v Umgebungsvariablen anzeigen
*e Für den Prozess gültige Umgebungsvariablen mit anzeigen (sinnvollerweise mit mehreren Optionen »w« anwenden, um die Ausgabe nicht am Zeilenende abzuschneiden)
+
*-w Ausgabe verbreitern (mehrfach nutzbar)
*w längere Ausgabe. »w« kann mehrfach verwendet werden, um die maximale Länge um je eine Zeile zu vergrößern
+
*-r nur laufende Prozesse anzeigen
*h Header mit Feldbezeichnern unterdrücken
+
*-H Header unterdrücken
*r nur laufende Prozesse ausgeben
+
*-n User-ID statt User-Name anzeigen
*n User-ID statt User-Name ausgeben
+
*-t txx nur Prozesse eines Terminals anzeigen (z.B. tty1)
*txx nur Prozesse ausgeben, die vom angegebenen Terminal kontrolliert werden. xx kann entweder einer der Terminal-Gerätenamen unter /dev (z.B. tty1) oder die entsprechende Kurzbezeichnung ohne »tty« (z.B. 1) sein.
 
  
thomas@cardassia:~# ps
+
==Typische Beispiele==
  PID TTY          TIME CMD
+
*ps
14134 pts/0    00:00:00 bash
+
*ps -ef
14149 pts/0    00:00:00 ps
+
*ps -u root
+
*ps -fu root
root@zero:~# ps alx | grep apache
+
*ps -p 1234
5    33  1427  6710  20  0  13816  3064 skb_re S    ?          0:00 /usr/sbin/apache2 -k start
+
*ps -p 1234,2345
5    33  1428  6710  20  0 235672  3316 pipe_w Sl  ?          0:00 /usr/sbin/apache2 -k start
+
*ps -ej
5    33  1429  6710  20  0 235672  3320 pipe_w Sl  ?          0:00 /usr/sbin/apache2 -k start
+
*ps -ex
5    0  6710    1  20  0  14192  4460 select Ss  ?          0:01 /usr/sbin/apache2 -k start
 
0    0 13376 13244  20  0  3248  824 pipe_w S+  pts/13    0:00 grep apache
 
  
zeige Prozesse des Users an!
+
==Filtern==
thomas@cardassia:~$ ps u zeige für jeden Prozess Besitzer und Startzeit an
+
*ps -ef | grep apache
USER      PID %CPU %MEM    VSZ  RSS TTY      STAT START  TIME COMMAND
+
*ps -ef | grep [a]pache
thomas    8758  0.0  0.0  7744  3068 pts/0    Ss  16:37  0:00 bash
 
thomas  10137  0.0  0.0  7728  2988 pts/1    Ss  16:45  0:00 bash
 
  
zeige Prozesse des Users und zeige für jeden Prozess Besitzer und Startzeit an
+
==Sortieren==
thomas@cardassia:~$ ps uU root
+
*ps -eo pid,user,%cpu,%mem,cmd --sort=-%cpu
USER      PID %CPU %MEM    VSZ  RSS TTY      STAT START  TIME COMMAND
+
*ps -eo pid,user,%cpu,%mem,cmd --sort=-%mem
root        1  0.0  0.0  3188  2060 ?        Ss  16:24  0:01 /sbin/init
+
 
root        2  0.0  0.0      0    0 ?        S<   16:24  0:00 [kthreadd]
+
==Top-Verbraucher==
root        3  0.0  0.0      0    0 ?        S<   16:24  0:00 [migration/0]
+
*ps -eo pid,user,%cpu,%mem,cmd --sort=-%cpu | head -n 6
 +
*ps -eo pid,user,%cpu,%mem,cmd --sort=-%mem | head -n 6
 +
 
 +
==Eigene Ausgabefelder==
 +
*ps -eo pid,ppid,user,stime,cmd
 +
*ps -eo pid,cmd
 +
*ps -eo pid,ppid,cmd --forest
 +
 
 +
==Terminalbezogene Prozesse==
 +
*ps -t tty1
 +
*ps -et
 +
 
 +
==Umgebungsvariablen==
 +
*ps -ev
 +
 
 +
==Übungsaufgaben==
 +
;Aufgabe 1
 +
*Zeige nur deine eigenen Prozesse an
 +
<!-- Lösung:
 +
ps -u $(whoami)
 +
-->
 +
 
 +
;Aufgabe 2
 +
*Zeige alle Prozesse des Users root mit ausführlicher Anzeige
 +
<!-- Lösung:
 +
ps -fu root
 +
-->
 +
 
 +
;Aufgabe 3
 +
*Zeige alle Prozesse ohne kontrollierendes Terminal
 +
<!-- Lösung:
 +
ps -ex
 +
-->
 +
 
 +
;Aufgabe 4
 +
*Stelle alle Prozesse als Baum dar
 +
<!-- Lösung:
 +
ps -eo pid,ppid,cmd --forest
 +
-->
 +
 
 +
;Aufgabe 5
 +
*Finde die drei Prozesse mit dem höchsten RAM-Verbrauch
 +
<!-- Lösung:
 +
ps -eo pid,user,%mem,cmd --sort=-%mem | head -n 4
 +
-->
 +
 
 +
;Aufgabe 6
 +
*Finde die fünf Prozesse mit der höchsten CPU-Last
 +
<!-- Lösung:
 +
ps -eo pid,user,%cpu,cmd --sort=-%cpu | head -n 6
 +
-->
 +
 
 +
;Aufgabe 7
 +
*Zeige PID und PPID aller Prozesse an
 +
<!-- Lösung:
 +
ps -eo pid,ppid,cmd
 +
-->
 +
 
 +
;Aufgabe 8
 +
*Zeige alle Prozesse auf tty1 an
 +
<!-- Lösung:
 +
ps -t tty1
 +
-->
 +
 
 +
;Aufgabe 9
 +
*Zeige Prozesse inklusive Umgebungsvariablen an
 +
<!-- Lösung:
 +
ps -ev
 +
-->
 +
 
 +
;Aufgabe 10
 +
*Zeige nur Informationen zu einer bestimmten PID
 +
<!-- Lösung:
 +
ps -p <PID>
 +
-->
 +
 
 +
==Hinweise==
 +
*Im Kurs wird ausschließlich der POSIX-Stil verwendet
 +
*Alle Optionen beginnen mit einem Minus (-)
 +
*ps zeigt eine Momentaufnahme, keine Live-Daten
 +
*Für Live-Ansicht siehe top oder htop

Aktuelle Version vom 28. Januar 2026, 05:37 Uhr

ps – Prozessstatus anzeigen

Optionen (POSIX-Stil)

  • -l langes Format
  • -u user Prozesse eines Users anzeigen
  • -f ausführliche Ausgabe (UID, PID, PPID, STIME, TTY, TIME, CMD)
  • -j Jobs-Format (PGID, SID)
  • -s Signal-Informationen anzeigen
  • -m Speicher-Informationen anzeigen
  • -e alle Prozesse aller Benutzer anzeigen
  • -x Prozesse ohne kontrollierendes Terminal anzeigen
  • -v Umgebungsvariablen anzeigen
  • -w Ausgabe verbreitern (mehrfach nutzbar)
  • -r nur laufende Prozesse anzeigen
  • -H Header unterdrücken
  • -n User-ID statt User-Name anzeigen
  • -t txx nur Prozesse eines Terminals anzeigen (z.B. tty1)

Typische Beispiele

  • ps
  • ps -ef
  • ps -u root
  • ps -fu root
  • ps -p 1234
  • ps -p 1234,2345
  • ps -ej
  • ps -ex

Filtern

  • ps -ef | grep apache
  • ps -ef | grep [a]pache

Sortieren

  • ps -eo pid,user,%cpu,%mem,cmd --sort=-%cpu
  • ps -eo pid,user,%cpu,%mem,cmd --sort=-%mem

Top-Verbraucher

  • ps -eo pid,user,%cpu,%mem,cmd --sort=-%cpu | head -n 6
  • ps -eo pid,user,%cpu,%mem,cmd --sort=-%mem | head -n 6

Eigene Ausgabefelder

  • ps -eo pid,ppid,user,stime,cmd
  • ps -eo pid,cmd
  • ps -eo pid,ppid,cmd --forest

Terminalbezogene Prozesse

  • ps -t tty1
  • ps -et

Umgebungsvariablen

  • ps -ev

Übungsaufgaben

Aufgabe 1
  • Zeige nur deine eigenen Prozesse an
Aufgabe 2
  • Zeige alle Prozesse des Users root mit ausführlicher Anzeige
Aufgabe 3
  • Zeige alle Prozesse ohne kontrollierendes Terminal
Aufgabe 4
  • Stelle alle Prozesse als Baum dar
Aufgabe 5
  • Finde die drei Prozesse mit dem höchsten RAM-Verbrauch
Aufgabe 6
  • Finde die fünf Prozesse mit der höchsten CPU-Last
Aufgabe 7
  • Zeige PID und PPID aller Prozesse an
Aufgabe 8
  • Zeige alle Prozesse auf tty1 an
Aufgabe 9
  • Zeige Prozesse inklusive Umgebungsvariablen an
Aufgabe 10
  • Zeige nur Informationen zu einer bestimmten PID

Hinweise

  • Im Kurs wird ausschließlich der POSIX-Stil verwendet
  • Alle Optionen beginnen mit einem Minus (-)
  • ps zeigt eine Momentaufnahme, keine Live-Daten
  • Für Live-Ansicht siehe top oder htop