La scala giusta è: trovare il PID, chiedere la chiusura pulita, forzare solo alla fine. Trova il processo con ps aux | grep nome, pgrep -a nome (mostra PID e comando completo) o pidof nome; top o htop se vuoi vederlo dal vivo. Poi kill <PID>: manda SIGTERM (15), il segnale di chiusura pulita che lascia al programma il tempo di salvare e pulire. Solo se ignora il TERM, kill -9 <PID>: SIGKILL non si può intercettare né ignorare, ma non fa cleanup – file temporanei e lock restano lì. Per nome invece che per PID: pkill -f 'parte-del-comando' o killall nome-esatto. Se è un servizio gestito da systemd, non usare kill: systemctl stop nome (o restart), altrimenti systemd lo rilancia – gestire i servizi con systemctl. Due casi speciali: lo zombie (stato Z in ps) è già morto e kill non gli fa niente – va raccolto dal padre: trovalo con ps -o ppid= -p <PID> e riavvia o termina il padre. Il processo in stato D (I/O non interrompibile, tipico NFS appeso) non lo schioda nemmeno il -9: riparte solo quando l'I/O si sblocca, e intanto gonfia il load average senza consumare nulla. E se è il kernel a uccidere per fame di RAM, quello è l'OOM killer, un'altra storia.
Come si termina un processo Linux (kill, pkill e processi zombie)?
Hai una domanda specifica su questo tema?
Interroga direttamente il motore FabGPT-FAQ con risposta in tempo reale.