QNA > Q > Qual È La Differenza Tra Il Comando Kill E Kill -9 In Unix?

Qual è la differenza tra il comando Kill e Kill -9 in Unix?

Allora sia Kill che Kill -9 sono usati per uccidere un processo. Ma la differenza si vede in come il processo che ha ricevuto il comando Kill o Kill -9 si comporta.

Kill genererà un segnale SIGTERM chiedendo a un processo di uccidersi con grazia, cioè di liberare la memoria o di prendersi cura di altri processi figli. Uccidere un processo usando kill non avrà alcun effetto collaterale come la memoria non liberata perché è stato ucciso con grazia.

Kill -9 funziona in modo simile ma non aspetta che il programma muoia con grazia. Kill -9 genera un segnale SIGKILL che non controlla lo stato del processo e lo uccide immediatamente.

La differenza principale è che SIGTERM (generato da Kill) può essere ignorato se il processo deve ancora raggiungere lo stato di sicurezza (memoria libera o attività simili) e il processo può non essere ucciso. Il processo non può ignorare il SIGKILL (generato da Kill -9) e sarà ucciso immediatamente indipendentemente dallo stato in cui si trova (questo può causare qualche volta alcuni problemi ma il processo viene ucciso di sicuro).

Punto divertente da notare: c'è una canzone su "kill -9". Ascoltatela, potrebbe darvi maggiori dettagli su "kill -9".

Di Dianna Aievoli

Perché OnePlus lo chiama Oxygen OS quando è solo una ROM e Android è il sistema operativo? :: L'agricoltura è difficile?
Link utili