Los procesos de eliminación no son fáciles: los datos se pueden perder, las aplicaciones mal diseñadas pueden romperse de manera sutil que no se pueden solucionar sin una reinstalación ... pero depende completamente de saber qué es y qué no es seguro en un situación dada y lo que estaría en riesgo. El usuario debe tener una idea de lo que está haciendo o debe hacer un proceso y cuáles son sus limitaciones (disco IOPS, rss / swap) y poder estimar cuánto tiempo debería llevar un proceso de larga duración (digamos una copia de archivo, reencodificación de mp3, migración de correo electrónico, copia de seguridad, [su enlace de tiempo favorito aquí].)
Además, enviar SIGKILLa un pid no es garantía de matarlo. Si está atascado en una llamada al sistema o ya está zombie ( Zin ps), puede continuar siendo zombie. Este suele ser el caso de ^ Z un proceso de larga ejecución y olvidarse bgantes de intentarlo kill -9. Un simple fgvolverá a conectar stdin / stdout y probablemente desbloqueará el proceso, generalmente seguido de la finalización del proceso. Si está atascado en otro lugar o en alguna otra forma de punto muerto del kernel, solo un reinicio puede eliminar el proceso. (Los procesos de Zombie ya están inactivos después SIGKILLde que el núcleo procesa (no se ejecutará más código de usuario), generalmente hay una razón del núcleo (similar a estar "bloqueado" esperando que finalice una llamada al sistema) para que el proceso no finalice).
Además, si desea eliminar un proceso y todos sus elementos secundarios, adquiera el hábito de llamar killcon el PID negado, no solo el PID en sí . No hay ninguna garantía de SIGHUP, SIGPIPEo SIGINTu otras señales de limpiar después de ella, y tener un montón de procesos repudiado a la limpieza (recuerde mestizo?) Es molesto.
Bonus evil: kill -9 -1es un poco más dañino que kill -9 1(No hagas ninguno de los dos como root a menos que quieras ver lo que sucede en un VM descartable y no importante)