Procesos de matanza
En general, para matar un proceso, no hay una forma más segura de matar un proceso que con un asesinato normal (SIGTERM). En caso de que sea un proceso interactivo, generalmente le permite detenerlo aún más seguro enviando una señal SIGINT, generalmente enviada presionando Ctrl+ C. Esta señal está siendo atrapada por el proceso mismo, puede escucharla y, por lo general, detenerse con gracia. ( gracias Eliah )
Base de datos DPKG
En cuanto a la gestión de paquetes es una especie de caso especial. La base de datos DPKG que usan los comandos APT bajo el agua siempre puede detectar si una operación no ha terminado. Cada paquete tiene un estado real que está marcado, así como un estado actual , por ejemplo, desempaquetado, configurado, etc. Al eliminar la interfaz APT, la base de datos estará rota, pero en un estado conocido . Los archivos de bloqueo solo se liberarán una vez que todo vuelva a estar en estado limpio; debe solucionarlo hasta que permita nuevas operaciones.
La forma de solucionarlo es simplemente activar un proceso para que todos los paquetes estén configurados. En términos prácticos, si ha interrumpido una apt-get
operación, puede terminarla más tarde usando
sudo dpkg --configure -a
Sabe cómo recuperarse del estado roto a un estado totalmente configurado y, en ese sentido, simplemente continuar desde donde fue interrumpido. Los archivos de bloqueo se quedan allí hasta que haya terminado, y eso es por una razón: para evitar nuevas operaciones con la base de datos DPKG en un estado no limpio.
Sobre SIGKILL (9)
Enviar un SIGKILL (representación decimal 9) es muy inseguro. El proceso no capta esta señal, pero el sistema operativo (kernel) limpiará todo el proceso, le guste o no. El estado de los archivos en el sistema de archivos se puede dejar en un estado corrupto. Nunca envíe estas señales a menos que ya no esté escuchando otras señales más elegantes.