Ps: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
=Option Beschreibung (BSD)=
+
=ps – Prozessstatus anzeigen=
*l langes Format
+
 
*U user zeige Prozesse des Users an!
+
==Optionen (POSIX-Stil)==
*u zeige für jeden Prozess Besitzer und Startzeit an
+
*-l langes Format
*j Jobs-Format: Zeige PGID und SID an
+
*-u user Prozesse eines Users anzeigen
*s Informationen über Signale ausgeben
+
*-f ausführliche Ausgabe (UID, PID, PPID, STIME, TTY, TIME, CMD)
*m Speicher-Informationen anzeigen
+
*-j Jobs-Format (PGID, SID)
*f Baumstruktur der Prozesse anzeigen (ähnlich pstree)
+
*-s Signal-Informationen anzeigen
*a alle Prozesse (jeden Benutzers) anzeigen
+
*-m Speicher-Informationen anzeigen
*x kontrollierendes Terminal nicht anzeigen
+
*-e alle Prozesse aller Benutzer anzeigen
*e Für den Prozess gültige Umgebungsvariablen mit anzeigen (sinnvollerweise mit mehreren Optionen »w« anwenden, um die Ausgabe nicht am Zeilenende abzuschneiden)
+
*-x Prozesse ohne kontrollierendes Terminal anzeigen
*w längere Ausgabe. »w« kann mehrfach verwendet werden, um die maximale Länge um je eine Zeile zu vergrößern
+
*-v Umgebungsvariablen anzeigen
*h Header mit Feldbezeichnern unterdrücken
+
*-w Ausgabe verbreitern (mehrfach nutzbar)
*r nur laufende Prozesse ausgeben
+
*-r nur laufende Prozesse anzeigen
*n User-ID statt User-Name ausgeben
+
*-H Header unterdrücken
*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.
+
*-n User-ID statt User-Name anzeigen
 +
*-t txx nur Prozesse eines Terminals anzeigen (z.B. tty1)
 +
 
 +
==Typische Beispiele==
 
*ps
 
*ps
==Grep nach apache==
+
*ps -ef
*ps alx | grep apache
+
*ps -u root
==Zeige Prozesse des Users an!==
 
*ps u zeige für jeden Prozess Besitzer und Startzeit an
 
==Zeige Prozesse des Users und zeige für jeden Prozess Besitzer und Startzeit an==
 
*ps uU root
 
=Option Beschreibung (POSIX)=
 
*-l langes Format, ähnlich wie bei BSD l
 
*-u user zeigt Prozesse des angegebenen Benutzers an!
 
*-f ausführliche Ausgabe, inklusive UID, PID, PPID, C, STIME, TTY, TIME und CMD
 
*-j Jobs-Format: Zeigt PGID (Prozessgruppen-ID) und SID (Session-ID) an
 
*-s Informationen über Signale ausgeben (zeigt an, welche Signale ein Prozess empfangen kann)
 
*-m Speicher-Informationen anzeigen, wie den Speicherstatus des Prozesses
 
*-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
 
==Zeige Prozesse des Users an!==
 
*ps -u
 
==Zeige Prozesse des Users und zeige für jeden Prozess Besitzer und Startzeit an==
 
 
*ps -fu 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
 +
<!-- 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