Prozesse (ps, top, htop)
Prozesse & System
Was ist ein Prozess?
Jedes laufende Programm ist unter Linux ein Prozess. Startest du einen Editor, einen Webserver oder auch nur den Befehl ls, erzeugt der Kernel dafür einen Prozess. Jeder Prozess bekommt eine eindeutige Nummer, die PID (Process ID). Prozesse entstehen nie aus dem Nichts: Sie werden von einem bereits laufenden Prozess gestartet. Dieser „Elternprozess“ wird über die PPID (Parent Process ID) festgehalten. Ganz oben in diesem Stammbaum steht systemd (oder init) mit der PID 1.
Prozesse anzeigen mit ps
Der klassische Befehl ist ps. In der Praxis nutzt du fast immer die Kombination ps aux: a zeigt Prozesse aller Nutzer, u ein nutzerfreundliches Format, x auch Prozesse ohne Terminal.
$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 168000 11200 ? Ss 09:00 0:01 /sbin/init anna 1452 2.3 4.1 998000 81000 ? Sl 09:12 0:42 firefox anna 1899 0.0 0.0 12000 3400 pts/0 R+ 09:30 0:00 ps aux
Die Spalte STAT verrät den Zustand: R = läuft, S = schlafend, Z = Zombie (beendet, aber noch nicht abgeräumt). Möchtest du gezielt nach einem Programm suchen, hilft pgrep oder eine Pipe:
$ ps aux | grep firefox $ pgrep -a firefox
top und htop
Während ps eine Momentaufnahme liefert, zeigen top und htop Prozesse live und aktualisieren sich laufend. top ist überall vorinstalliert; mit q beendest du es, mit P sortierst du nach CPU, mit M nach Speicher.
$ top $ htop
htop ist die komfortablere Variante mit Farben, Mausbedienung und Baumansicht (F5). Es muss meist erst installiert werden – wie das geht, liest du unter apt & dpkg.
Priorität: Nice-Werte
Über den Nice-Wert steuerst du, wie „freundlich“ ein Prozess gegenüber anderen ist. Der Wert reicht von -20 (höchste Priorität) bis 19 (niedrigste). Je höher der Nice-Wert, desto eher tritt der Prozess Rechenzeit ab.
$ nice -n 10 ./langer_job.sh $ renice -n 5 -p 1452
| Befehl | Zweck |
|---|---|
nice -n N cmd | Programm mit Nice-Wert N starten |
renice -n N -p PID | Nice-Wert eines laufenden Prozesses ändern |
ps -o pid,ni,comm | Nice-Werte anzeigen |
Hinweis: Negative Nice-Werte (höhere Priorität) darf nur root setzen.
Stolperfallen & Sicherheit
Ein Zombie-Prozess belegt kaum Ressourcen, deutet aber auf ein Programm hin, das seine Kindprozesse nicht korrekt abräumt. Verbraucht ein Prozess dauerhaft 100 % CPU, prüfe vor dem Beenden, ob er wirklich hängt. Wichtig für die Sicherheit: ps aux zeigt die komplette Befehlszeile – gib niemals Passwörter als Kommandozeilen-Argument an, denn jeder Nutzer auf dem System kann sie so mitlesen. Wie du Prozesse gezielt beendest, lernst du unter Signale & kill.
Welcher Nice-Wert bedeutet die höchste Priorität?