Skip to content

processes

Prozesse

PS

processes zeigt die laufenden Prozesse des Systems an

UID = User PID = Prozess ID PPID = Parent Prozess ID C =

-ef

Alle Prozesse anzeigen (e), in vollem Format (f)

ps -ef

Prozess der Bash:

ps -ef | grep bash

pstree

pstree zeigt Prozesse in Baumansicht. (p) für Baum mit Prozess-ID.

pstree | grep bash
pstree -p | grep node

top

Zeigt Prozesse an

top
  • PID = Prozess ID
  • USER
  • PR = Priorität
  • NI = Nice Wert
  • VIRT = virtueller Speicher inkl. shared libs und Swapped
  • RES = Reserved Memory, physikalischer Arbeitsspeicher
  • SHR = shared
  • S = STATUS (R = Running, Z = Zombie, S = Sleep)
  • %CPU = CPU Last
  • %MEM = Teil des physikalischen Speichers

Root Prozesse ansehen:

top -u root

Prozesse mit ID 11222 - 12345

top -p 11222,12345

htop

graphische Variante von top.

Htop starten und nach Prozessen filtern (nicht in allen htop-Versionen verfügbar):

htop --filter ' suchwort '

Uptime

Zeigt an, wie lange das SYstem läuft, wieviele User angemeldet sind und mit load average die mittlere Systemauslastung an.

uptime
23:48:04 up  3:56,  1 user,  load average: 0,97, 0,90, 0,83

Load Avagere in letzter Minute, letzten 5 Minuten, letzten 15 Minuten Generell sollte der Wert nicht höher werden als die Anzahl der Prozessorkerne, da sonst Prozesse in der Warteschlange liegen.

Free

Zeigt die Speicherauslastung an, (h) für human readable

free -h

pgrep

Nach Prozessen mit Name oder anderen Attributen suchen

pgrep -l dock

1681 dockerd

-l zeigt noch den Namen des Prozesses an.

kill

Interrupt an einen Prozess senden, damit der Prozess beendet wird.

Alle 64 verfügbaren Signale anzeigen:

kill -l

Syntax von kill

kill SIGNAL PID

SIGTERM (15)

Standard-Signal von kill. Gibt dem Prozess die Möglichkeit, geordnet zu beenden.

Hier vier Varianten des gleichen Befehls:

sudo kill -SIGTERM 13433 1342
sudo kill -15 13433 1342
sudo kill -TERM 13433 1342
sudo kill 13433 1342

SIGTERM is the “normal” kill signal. It tells the application to exit cleanly. The application might take time to save its state, to free resources such as temporary files that would otherwise stay behind, etc. An application that doesn't want to be interrupted during a critical application might ignore SIGTERM for a while.

SIGKILL (9)

Wenn SIGTERM nicht erfolgreich war, können wir SIGKILL senden. Beendet Prozess sofort.

sudo kill -SIGKILL 13433 1342
sudo kill -9 13433 1342

SIGSTOP (19)

Stopt Prozess und beendet ihn nicht. Kill muss nämlich den Prozess nicht zwangsläufig beenden.

sudo kill -SIGSTOP 13433 1342
sudo kill -19 13433 1342

SIGCONT (18)

mit SIGCONT kann man den Prozess wieder aufwecken

sudo kill -SIGCONT 13433 1342
sudo kill -18 13433 1342

SIGHUB (1)

Wenn ein Terminal geschlossen wird, dann sendet es ein -SIGHUP (1) an alle noch laufenden Programme und sie brechen ab.

sudo kill -SIGHUP 13433 1342
sudo kill -1 13433 1342

SIGHUP is about the same as SIGTERM in terms of harshness, but it has a specific role because it's automatically sent to applications running in a terminal when the user disconnects from that terminal (etymologically, because the user was connecting via a telephone line and the modem hung up). SIGHUP is often involuntary, unlike SIGTERM which has to be sent explicitly, so applications should try to save their state on a SIGHUP. SIGHUP also has a completely different conventional meaning for non-user-facing applications (daemons), which is to reload their configuration file.

SIGINT (2)

Unterbricht die Terminalverbindung zum Prozess und damit wird er gestoppt. Enstpricht der Tastenkombination STRG + C

sudo kill -SIGINT 13433 1342

SIGINT is the “weakest” of the lot. Its conventional meaning is “stop what you're doing right now and wait for further user input”. It's the signal generated by Ctrl+C in a terminal. Non-interactive programs generally treat it like SIGTERM

pkill

gleiche Syntax wie pgrep. Mit dem Attribut -x wird nur der Prozess mit dem genauen Namen gekillt (ansonsten zu unsicher). Standard-Signal ist SIGTERM.

sudo pkill -x nginx

killall

Sendet Signale an alle Prozesse, die eine gewisse Eigenschaft haben. Vorsichtig verwenden!

Liste aller killall-Signal

killall -l

Alle Programme eines Nutzers finden:

ps -fu username

Alle Prozesse von username MIT SIGKILL beenden

sudo killall --sig SIGKILL -u username

Watch

watch - execute a program periodically, showing output fullscreen

watch -n 1 uptime

Nice

Priorität eines Prozess. Je kleiner der Wert, desto mehr Rechenleistung. Default Nicewert ist 0. -20 ist der beste Wert, 19 der schlechteste (niedriste Priorität).

top

4 Spalte von top/htop (NI) ist der Nicewert.

Nice Wert ändern mit nice

Nutzer kann den Nicewert ändern, allerdings nur von 0 - 20. Negative Nicewerte können nur durch Root gesetzt werden.

nice -n 5 sleep 1000 &
[1] 52323

top -p 52323

Renice

Nicewert eines laufenden Prozesses verändern. -n optional

sudo renice -n 20 -p 52323
sudo renice 10 -p 52323