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