ps, top, kill
Comandi per vedere i processi in esecuzione e terminarli.
ps: elenco dei processi
ps aux
ps -ef
ps aux | grep nginx
ps -u michele
ps -p 1234
ps aux --sort=-%mem | head
ps aux --sort=-%cpu | head
Le colonne principali di ps aux:
| Colonna | Significato |
|---|---|
USER | Utente proprietario |
PID | Identificativo del processo |
%CPU / %MEM | Uso di CPU e memoria |
STAT | Stato (R in esecuzione, S in attesa, Z zombie, D attesa I/O) |
COMMAND | Comando avviato |
Albero dei processi:
ps axjf
pstree -p
pgrep: trovare un PID per nome
pgrep nginx
pgrep -a nginx
pgrep -u michele
top e htop
top
htop
Tasti utili in top:
| Tasto | Azione |
|---|---|
q | Esci |
M | Ordina per memoria |
P | Ordina per CPU |
k | Termina un processo (chiede il PID) |
1 | Mostra ogni core |
htop è più comodo e interattivo (sudo pacman -S htop): puoi cercare con F3, terminare con F9, ordinare con F6.
kill: inviare segnali
kill 1234
kill -15 1234
kill -9 1234
kill -HUP 1234
| Segnale | Numero | Effetto |
|---|---|---|
SIGTERM | 15 | Richiesta gentile di terminare (predefinito) |
SIGKILL | 9 | Terminazione forzata, il processo non può impedirla |
SIGHUP | 1 | Spesso fa rileggere la configurazione |
SIGSTOP | 19 | Sospende il processo |
SIGCONT | 18 | Riprende il processo sospeso |
Prova sempre prima con kill (15). Usa kill -9 solo se il processo non risponde: non gli permette di chiudere file e risorse in modo pulito.
killall e pkill: per nome
killall firefox
pkill -f "python3 script.py"
pkill -u michele
Processi in background
comando &
jobs
fg %1
bg %1
nohup comando > out.log 2>&1 &
Ctrl+Zsospende il comando in primo pianobglo manda in background,fglo riporta in primo piano
Per processi persistenti è meglio un servizio systemd (vedi systemctl) oppure tmux.
Priorità
nice -n 10 comando
renice -n 5 -p 1234
Valori da -20 (massima priorità) a 19 (minima). Solo root può abbassare il valore sotto 0.