Ps: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
=Option Beschreibung (BSD)=
+
=ps – Prozessstatus anzeigen=
 +
 
 +
==Optionen (BSD-Stil)==
 
*l langes Format
 
*l langes Format
*U user zeige Prozesse des Users an!
+
*U user zeige Prozesse eines Users an
*u zeige für jeden Prozess Besitzer und Startzeit an
+
*u zeige Besitzer und Startzeit
*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)
+
*f Prozessbaum anzeigen
*a alle Prozesse (jeden Benutzers) anzeigen
+
*a alle Prozesse mit TTY anzeigen
*x kontrollierendes Terminal nicht anzeigen
+
*x Prozesse ohne kontrollierendes Terminal anzeigen
*e Für den Prozess gültige Umgebungsvariablen mit anzeigen (sinnvollerweise mit mehreren Optionen »w« anwenden, um die Ausgabe nicht am Zeilenende abzuschneiden)
+
*e Umgebungsvariablen anzeigen
*w längere Ausgabe. »w« kann mehrfach verwendet werden, um die maximale Länge um je eine Zeile zu vergrößern
+
*w Ausgabe verbreitern (mehrfach nutzbar)
*h Header mit Feldbezeichnern unterdrücken
+
*h Header unterdrücken
*r nur laufende Prozesse ausgeben
+
*r nur laufende Prozesse anzeigen
*n User-ID statt User-Name ausgeben
+
*n User-ID statt Name anzeigen
*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.
+
*txx nur Prozesse eines Terminals anzeigen (z.B. tty1 oder 1)
 +
 
 +
==Optionen (POSIX-Stil)==
 +
*-l langes Format
 +
*-u user Prozesse eines Users anzeigen
 +
*-f ausführliche Ausgabe
 +
*-j Jobs-Format (PGID, SID)
 +
*-s Signal-Informationen anzeigen
 +
*-m Speicher-Informationen anzeigen
 +
*-e alle Prozesse 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 Name anzeigen
 +
*-t txx nur Prozesse eines Terminals anzeigen
 +
 
 +
==Typische Beispiele==
 
*ps
 
*ps
==Grep nach apache==
+
*ps aux
*ps alx | grep apache
+
*ps ax
==Zeige Prozesse des Users an!==
+
*ps u
*ps u zeige für jeden Prozess Besitzer und Startzeit an
+
*ps -ef
==Zeige Prozesse des Users und zeige für jeden Prozess Besitzer und Startzeit an==
+
*ps axf
*ps uU root
+
*ps auxf
=Option Beschreibung (POSIX)=
+
*ps auxww
*-l langes Format, ähnlich wie bei BSD l
+
*ps -ej
*-u user zeigt Prozesse des angegebenen Benutzers an!
+
*ps -u root
*-f ausführliche Ausgabe, inklusive UID, PID, PPID, C, STIME, TTY, TIME und CMD
+
*ps -p 1234
*-j Jobs-Format: Zeigt PGID (Prozessgruppen-ID) und SID (Session-ID) an
+
*ps -p 1234,2345
*-s Informationen über Signale ausgeben (zeigt an, welche Signale ein Prozess empfangen kann)
+
 
*-m Speicher-Informationen anzeigen, wie den Speicherstatus des Prozesses
+
==Filtern mit grep==
*-e alle Prozesse aller Benutzer anzeigen
 
*-x zeigt Prozesse ohne kontrollierendes Terminal
 
*-v Umgebungsvariablen jedes Prozesses anzeigen (oft zusammen mit -e verwendet)
 
*-w erweitert die Breite der Ausgabe, um nicht am Zeilenende abzuschneiden. Mehrfache -w Erhöhungen der Breite.
 
*-r zeigt nur laufende Prozesse
 
*-H Header mit Feldbezeichnern unterdrücken
 
*-n User-ID statt User-Name ausgeben
 
*-t txx nur Prozesse ausgeben, die vom angegebenen Terminal kontrolliert werden (xx steht für das Terminal, z.B. tty1 oder einfach 1)
 
*ps Prozessstatus anzeigen
 
==Grep nach apache==
 
 
*ps aux | grep apache
 
*ps aux | grep apache
==Zeige Prozesse des Users an!==
+
*ps aux | grep [a]pache
*ps -u
+
 
==Zeige Prozesse des Users und zeige für jeden Prozess Besitzer und Startzeit an==
+
==Sortieren==
*ps -fu root
+
*ps aux --sort=-%cpu
 +
*ps aux --sort=-%mem
 +
 
 +
==Top-Verbraucher==
 +
*ps aux --sort=-%cpu | head -n 6
 +
*ps aux --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 ttty1
 +
*ps -t tty1
 +
*ps a
 +
*ps ax | grep '?'
 +
 
 +
==Umgebungsvariablen==
 +
*ps auxe
 +
 
 +
==Ü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==
 +
*BSD-Optionen ohne Minus
 +
*POSIX-Optionen mit Minus
 +
*ps aux ist BSD-Stil
 +
*ps -ef ist POSIX-Stil
 +
*ps zeigt Momentaufnahme, keine Live-Daten

Version vom 27. Januar 2026, 16:44 Uhr

ps – Prozessstatus anzeigen

Optionen (BSD-Stil)

  • l langes Format
  • U user zeige Prozesse eines Users an
  • u zeige Besitzer und Startzeit
  • j Jobs-Format (PGID, SID)
  • s Signal-Informationen anzeigen
  • m Speicher-Informationen anzeigen
  • f Prozessbaum anzeigen
  • a alle Prozesse mit TTY anzeigen
  • x Prozesse ohne kontrollierendes Terminal anzeigen
  • e Umgebungsvariablen anzeigen
  • w Ausgabe verbreitern (mehrfach nutzbar)
  • h Header unterdrücken
  • r nur laufende Prozesse anzeigen
  • n User-ID statt Name anzeigen
  • txx nur Prozesse eines Terminals anzeigen (z.B. tty1 oder 1)

Optionen (POSIX-Stil)

  • -l langes Format
  • -u user Prozesse eines Users anzeigen
  • -f ausführliche Ausgabe
  • -j Jobs-Format (PGID, SID)
  • -s Signal-Informationen anzeigen
  • -m Speicher-Informationen anzeigen
  • -e alle Prozesse 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 Name anzeigen
  • -t txx nur Prozesse eines Terminals anzeigen

Typische Beispiele

  • ps
  • ps aux
  • ps ax
  • ps u
  • ps -ef
  • ps axf
  • ps auxf
  • ps auxww
  • ps -ej
  • ps -u root
  • ps -p 1234
  • ps -p 1234,2345

Filtern mit grep

  • ps aux | grep apache
  • ps aux | grep [a]pache

Sortieren

  • ps aux --sort=-%cpu
  • ps aux --sort=-%mem

Top-Verbraucher

  • ps aux --sort=-%cpu | head -n 6
  • ps aux --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 ttty1
  • ps -t tty1
  • ps a
  • ps ax | grep '?'

Umgebungsvariablen

  • ps auxe

Ü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

  • BSD-Optionen ohne Minus
  • POSIX-Optionen mit Minus
  • ps aux ist BSD-Stil
  • ps -ef ist POSIX-Stil
  • ps zeigt Momentaufnahme, keine Live-Daten