Señales del Sistema

Una señal es un evento enviado por el kernel a un programa que está ejecutándose.

Las señales pueden llegar en cualquier momento y los programas deben elegir que hacer cuando una señal llega: pueden ignorar la señal o podrían decidir ejecutar un manejador de señales (signal handler) y continuar con lo que estaban haciendo.

Existen 31 señales diferentes, y se puede ver una lista de ellas con el comando:

   kill -l

De todas las de la lista hay 5 que un administrador de sistemas debería conocer:

  • SIGHUP es usada para decirle a un demonio que recargue porque sus archivos de configuración fueron modificados.
  • SIGINT se envía a un proceso en primer plano (foreground) cuando se presiona la combinación de teclas Ctrl + C en el teclado. Algunos programas ignoran esta acción, por ejemplo el comando less.
  • SIGTERM es la señal por defecto del comando kill. Puede considerarse como que el programa se cierra y termina. Esta señal es enviada por init a todos los procesos que están corriendo cuando se pide apagar el sistema.
  • SIGKILL también es usada por init, pero solo cuando SIGTERM no funciona. Esta señal no puede ser ignorada por ningún proceso y hace que el proceso termine inmediatamente. Es usada como último recurso solo cuando las dos anteriores fallan, al igual que SIGKILL no permite al proceso realizar ninguna acción mientras se está cerrando.
  • SISGEV es creada dentro del mismo programa, no externamente como las otras. Es creada cuando el programa trata de acceder a una dirección de memoria que ya no está disponible. Por defecto se termina el programa.

Como Enviar Señales

Un ejemplo de como enviar una señal sería el siguiente:

   kill -SIGTERM 18565 12564

Los números son los identificadores de proceso a los que la señal será enviada. Obviamente solo se puede enviar señales a procesos de los que el dueño sea el mismo usuario que el que está ejecutando el comando kill (o root).

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s