fbpx Señales en Linux: SIGTERM, SIGKILL, SIGHUP y Cómo Usar kill | Certificação Linux

Señales en Linux: SIGTERM, SIGKILL, SIGHUP y Cómo Usar kill y trap

📅 08/12/2021 ⏱ 3 min ✍️ Uira Ribeiro
Linuxcomandos
Señales en Linux: SIGTERM, SIGKILL, SIGHUP y Cómo Usar kill y trap
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponible en
Google Play
Disponible en
App Store

La "conversación" entre el sistema operativo y los programas en ejecución es a través de Señales en Linux, que son interrupciones de software, utilizadas para poner un programa conectado a una terminal, en espera, en segundo o en primer plano, e incluso detener su ejecución. 

Cada proceso en Linux queda a la escucha de señales. Estas señales son utilizadas por el Kernel, por otros procesos o por el usuario para avisar a un determinado proceso sobre algún evento en particular. El guru de UNIX W. Richard Stevens describe las señales como interrupciones de software.

Cuando una señal es enviada a un proceso, este toma una acción específica dependiendo del valor que la señal porta. 

Cada señal tiene un nombre único y un valor numérico. 

Veamos algunos valores y sus acciones:

TABLA – Señales más importantes

SeñalValor NuméricoAcción
SIGHUP1Hang-Up o apagado. Esta señal se utiliza automáticamente cuando te desconectas de una sesión o cierras una terminal. También es utilizada por procesos servidores para invocar la relectura del archivo de configuración.
SIGINT2Es la señal de interrumpir el funcionamiento. Se acciona por ejemplo cuando se presionan las teclas Ctrl C.
SIGKILL9Terminar el proceso incondicionalmente de forma rápida y drástica. Este tipo de señal puede dejar archivos abiertos y bases de datos corruptas. Debe ser utilizado en caso de que el proceso deje de responder o en una emergencia.
SIGTERM15Termina el proceso de forma elegante, posibilitando que cierre archivos y ejecute sus rutinas de fin de ejecución.
SIGCONT18Es una señal para un proceso que fue detenido con la señal SIGSTOP para que continúe ejecutándose.
SIGSTOP19Es una señal que puede ser enviada a un proceso para detener su funcionamiento momentáneamente. Este continúa existiendo, pero ya no recibe más CPU para ejecutar, hasta que reciba la señal SIGCONT.
SIGTSTP20Termina la ejecución para continuar después. Esta señal se envía automáticamente cuando utilizamos las teclas ctrl-z. Se utiliza para poner el proceso en segundo plano.

Linux posee más de 30 señales definidas. La mayoría es utilizada por el Kernel y algunas por los usuarios en situaciones específicas.

La comprensión de señales es importante para saber cómo el sistema interactúa con los procesos en ejecución. Los comandos kill y killall pueden ser usados para enviar señales específicas a un proceso en ejecución.

La mayoría de los administradores al detener un proceso, usa SIGKILL. Sin embargo, esta señal es muy "fuerte", pues hace una parada abrupta en el proceso en ejecución, y puede dejar archivos abiertos, índices mal hechos, y datos corruptos. Es mejor usar la señal SIGTERM, que permite que el programa termine elegantemente, cerrando los archivos, índices y bases de datos.

Linux permite que los usuarios envíen señales a los programas en ejecución a través del comando kill.

Aprende mucho más sobre Linux en nuestro curso en línea. Puedes realizar la inscripción aquí. Si ya tienes una cuenta, o quieres crear una, simplemente ingresa o crea tu usuario aquí.

¿Te gustó? Comparte

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Después de años viendo profesionales perder horas en tareas simples por no conocer las herramientas correctas de Linux, decidí enseñar.
Hoy soy autor de la mayoría de los Materiales de Aprendizaje oficiales de la LPI y mentor de más de 14,000 alumnos certificados.

Conoce mi historia completa →

Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp