Um auf einem Debian GNU/Linux-System die vielen gleichzeitig laufenden
            Programme im Zaum halten zu können, muss man sich natürlich auch einen Überblick über
            diese verschaffen. Dazu dient unter anderem das Programm ps. ps liest die benötigten Informationen unter Linux aus dem
            Verzeichnis /proc des Dateisystems. /proc ist nicht tatsächlich auf einer
            Festplattenpartition abgelegt, sondern wird vom Kernel ständig aktualisiert und in den
            Verzeichnisbaum eingeblendet. Somit hat der Benutzer auf einfachste Art und Weise
            Zugriff auf die Informationen.
Rufen Sie ps einfach einmal ohne weitere Parameter in einer Shell
            auf. Dies sollte Ihnen in etwa folgendes Ergebnis
            anzeigen:
bash-2.02$ ps PID TTY TIME CMD 3522 pts/5 00:00:00 bash 3523 pts/5 00:00:00 ps
            Ohne weitere Optionen zeigt ps die Prozesse der aktuellen Shell an. Zu diesem
            Zeitpunkt sind das die Shell selbst sowie das Programm 
            ps, das ja gerade gestartet wurde. In der ersten Spalte
            sehen Sie die Prozess-ID (PID); diese dient dazu, ein Programm im System eindeutig zu identifizieren. ps verfügt über eine Vielzahl von Optionen, mit denen Sie
            sich detailliertere Informationen zu den laufenden Programmen ansehen können.
Eine Kurzübersicht über die verfügbaren Optionen erhalten Sie, wie bei allen
            GNU-Programmen, mit der Option --help.
bash-2.02$ ps --help
********* simple selection *********  ********* selection by list *********
-A all processes                      -C by command name
-N negate selection                   -G by real group ID (supports names)
-a all w/ tty except session leaders  -U by real user ID (supports names)
-d all except session leaders         -g by session leader OR by group name
-e all processes                      -p by process ID
T  all processes on this terminal     -s processes in the sessions given
a  all w/ tty, including other users  -t by tty
g  all, even group leaders!           -u by effective user ID (supports 
                                         names)
r  only running processes             U  processes for specified users
x  processes w/o controlling ttys     t  by tty
*********** output format **********  *********** long options ***********
-o,o user-defined  -f full            --Group --User --pid --cols
-j,j job control   s  signal          --group --user --sid --rows
-O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-l,l long          u  user-oriented   --sort --tty --forest --version
                   X  registers       --heading --no-heading
                    ********* misc options *********
-V,V show version       L  list format codes  f  ASCII art forest
-m,m show threads       S  children in sum    -y change -l format
-n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-w,w wide output        e  show environment   -H process hierarchy
Am häufigsten werden Sie sicher Optionen wie a, u, x und w benutzen. Diese werden nach dem Kommando einfach
            zusammengefasst, also beispielsweise 
            ps auxw.
Nun folgt das versprochene Beispiel zum Thema Pipe: Nehmen wir an, Sie benötigen die Prozess-ID eines Programms, um es mit kill zu beenden. Auf einem System mit vielen Prozessen
            kann dies ein Problem sein. Die Lösung ist eine Kombination aus den Programmen ps und grep, die mittels einer Pipe verkettet werden. Das
            benötigte Kommando würde wie folgt aussehen: ps aux|grep netscape. ps mit den Optionen aux gibt alle laufenden Prozesse in einer ausführlichen
            Form aus. 
            grep filtert aus der Ausgabe des Programms ps alle Zeilen heraus, in denen die Zeichenfolge netscape vorkommt. Sie sollten nun eine recht knappe
            Ausgabe bekommen und die gewünschte Prozess-ID leicht finden können.
Weitere Informationen zu ps finden Sie in der Manpage zu 
            ps (man ps).
©
 1999 - 2025 | Das Debian GNU/Linux Anwenderhandbuch von Frank Ronneburg steht unter einer Creative Commons Namensnennung-Nicht Kommerziell-Keine Bearbeitung 3.0 Deutschland Lizenz.
 1999 - 2025 | Das Debian GNU/Linux Anwenderhandbuch von Frank Ronneburg steht unter einer Creative Commons Namensnennung-Nicht Kommerziell-Keine Bearbeitung 3.0 Deutschland Lizenz.