Common Desktop Environment: Guía del usuario

Envío de señales de finalización a un proceso

El comando de finalizar de UNIX permite al usuario enviar una señal a un proceso. Una señal es un mensaje enviado a un proceso para interrumpirlo y provocar una respuesta. Si se ha diseñado el proceso para responder a las señales del tipo enviado, éste lo hará; de lo contrario, terminará. Hay 42 señales, como se definen en la página del comando man signal(5). La tabla siguiente muestra algunos de los números/nombres de las señales utilizadas habitualmente y sus significados.

 Número de señal Nombre de señal  Significado
 1 HUP Colgar (utilizado a menudo antes de finalizar la sesión)
 2 INT Interrumpir (equivalente a presionar Control+C en una sesión de terminal)
 9 KILL

Finalizar (terminar sin reorganización) 

Sólo funciona si la envía el propietario del proceso o el superusuario (root) 

El programa no puede responder a esta señal; debe terminar 

 15 TERM

Finalizar (terminar de forma ordenada, después de reorganizar) 

Sólo funciona si la envía el propietario del proceso o el superusuario (root) 

El elemento de menú Finalizar permite finalizar un proceso rápidamente enviándole una señal kill (9). El elemento de menú Señal le proporciona más control de la señal enviada por el comando kill(1). Por ejemplo, podría enviar una señal INT o HUP, etcétera.


Precaución - Precaución -

Sólo debería enviar una señal a un proceso si comprende las consecuencias de su acción. Por ejemplo, si selecciona el shell de entrada y envía una señal de finalizar, se finalizará su sesión de inmediato. Para más información sobre los procesos y el control de trabajos, póngase en contacto con el administrador de su sistema o véase lo siguiente:


Para finalizar un proceso (finalización rápida)

  1. Seleccione una entrada de proceso en el panel de desplazamiento del Gestor de procesos.

  2. Elija Finalizar en el menú Proceso.

    El Gestor de procesos finaliza el proceso (y sus procesos inferiores) siempre que tenga permiso para ello; de lo contrario se muestra un error. A veces el proceso tarda algunos segundos en finalizar. Puede saber si ha finalizado un proceso si no aparece la próxima vez que el Gestor de procesos actualiza su visualización.


    Consejo -

    El comando UNIX equivalente es:

    kill -9 PID donde PID es el identificador de proceso del proceso seleccionado.

    Puede redefinir el comando realizado por el elemento de menú Finalizar a un comando diferente redefiniendo la acción denominada 'Kill' en el archivo:

    /usr/dt/appconfig/types/C/sdtprocess.dt


Para enviar una señal a un proceso

  1. Seleccione una entrada de proceso en el panel de desplazamiento del Gestor de procesos.

  2. Elija Señal en el menú Proceso.

    El Gestor de procesos muestra un cuadro de diálogo que le solicita que especifique las señales. Debe proporcionar como mínimo una de las 42 señales definidas en la página del comando man signal(5).

  3. Escriba el nombre o número de la señal relevante y haga clic en Aceptar.

    El Gestor de procesos envía el comando signal y cierra el cuadro de diálogo. No se envía ningún mensaje de operación satisfactoria. Habitualmente, al finalizar un proceso se eliminan sus procesos inferiores.


Consejo -

El comando UNIX equivalente es: kill -num_nombreseñal PID

donde -num_nombreseñal es el número o nombre de la señal y PID es el ID de proceso del proceso seleccionado.