Provided by: manpages-es_1.55-10_all bug

NOMBRE

       signal - lista de las señales disponibles

DESCRIPCIÓN

       Linux  permite  tanto  las  señales  POSIX  confiables  (de aquí en adelante "señales estándar") como las
       señales POSIX en tiempo real.

   Señales Estándar
       Linux soporta las señales estándar listadas a continuación. Muchos números  de  señales  dependen  de  la
       arquitectura,  tal  como  se  indica en la columna "Valor".  (Donde aparezcan tres valores, el primero de
       ellos es válido normalmente para alpha y sparc, el segundo para i386, ppc y sh, y el  último  para  mips.
       Un - indica que una señal no está presente en la arquitectura correspondiente.)

       Las  entradas  en  la  columna "Acción" de la tabla especifican la acción por defecto para la señal de la
       siguiente manera:

       Term   La acción por defecto es terminar el proceso.

       Ign    La acción por defecto es ignorar la señal.

       Core   La acción por defecto es terminar el proceso y realizar un volcado de memoria.

       Stop   La acción por defecto es detener el proceso.

       En primer lugar se listan las señales descritas en el estándar POSIX.1 original.

       Señal      Valor     Acción   Comentario
       ──────────────────────────────────────────────────────────────────────
       SIGHUP        1       Term    Cuelgue detectado en la terminal de
                                     control o muerte del proceso de control
       SIGINT        2       Term    Interrupción procedente del teclado
       SIGQUIT       3       Core    Terminación procedente del teclado
       SIGILL        4       Core    Instrucción ilegal
       SIGABRT       6       Core    Señal de aborto procedente de abort(3)
       SIGFPE        8       Core    Excepción de coma flotante
       SIGKILL       9       Term    Señal de matar
       SIGSEGV      11       Core    Referencia inválida a memoria
       SIGPIPE      13       Term    Tubería rota: escritura sin lectores
       SIGALRM      14       Term    Señal de alarma de alarm(2)
       SIGTERM      15       Term    Señal de terminación
       SIGUSR1   30,10,16    Term    Señal definida por usuario 1
       SIGUSR2   31,12,17    Term    Señal definida por usuario 2
       SIGCHLD   20,17,18    Ign     Proceso hijo terminado o parado
       SIGCONT   19,18,25            Continuar si estaba parado
       SIGSTOP   17,19,23    Stop    Parar proceso
       SIGTSTP   18,20,24    Stop    Parada escrita en la tty
       SIGTTIN   21,21,26    Stop    E. de la tty para un proc. de fondo
       SIGTTOU   22,22,27    Stop    S. a la tty para un proc. de fondo

       Las señales SIGKILL y SIGSTOP no pueden ser capturadas, bloqueadas o ignoradas.

       A continuación se listan las señales que no aparecen en el estándar POSIX.1 pero  que  son  descritas  en
       SUSv2 y SUSv3 / POSIX 1003.1-2001.

       Señal        Valor     Acción   Comentario
       ─────────────────────────────────────────────────────────────────────────
       SIGBUS      10,7,10     Core    Error de bus (acceso a memoria inválido)
       SIGPOLL                 Term    Evento que se puede consultar (Sys V).
                                       Sinónimo de SIGIO
       SIGPROF     27,27,29     A      Ha expirado el reloj de perfilado
                                       (profiling)
       SIGSYS      12,-,12      C      Argumento de rutina inválido (SVID)
       SIGTRAP        5        Core    Trampa de traza/punto de ruptura
       SIGURG      16,23,21     B      Condición urgente en conector (4.2 BSD)
       SIGVTALRM   26,26,28     A      Alarma virtual (4.2 BSD)
       SIGXCPU     24,24,30     C      Límite de tiempo de CPU excedido
                                       (4.2 BSD)
       SIGXFSZ     25,25,31     C      Límite de tamaño de fichero excedido
                                       (4.2 BSD)

       En  las versiones de Linux anteriores a la 2.2 (incluida ésta) el comportamiento por defecto para SIGSYS,
       SIGXCPU, SIGXFSZ, y (en otras arquitecturas distintas a SPARC y MIPS) SIGBUS era terminar el proceso (sin
       realizar un volcado de memoria).  (En otros Unix's la acción  por  defecto  para  SIGXCPU  y  SIGXFSZ  es
       terminar  el  proceso  sin realizar un volcado de memoria.)  Linux 2.4 cumple los requisitos del estándar
       POSIX 1003.1-2001 con respecto a estas señales, terminando el proceso con un volcado de memoria.

       A continuación otras señales.

       Señal          Valor      Acción   Comentario
       ────────────────────────────────────────────────────────────────────────────────────
       SIGIOT           6         Core    Trampa IOT. Un sinónimo de SIGABRT
       SIGEMT      7,-,7  Term
       SIGSTKFLT     -,16,-       Term    Fallo de la pila en el coprocesador (no usada)
       SIGIO        23,29,22      Term    E/S permitida ya (4.2 BSD)
       SIGCLD        -,-,18       Ign     Un sinónimo de SIGCHLD
       SIGPWR       29,30,19      Term    Fallo de corriente eléctrica (System V)
       SIGINFO       29,-,-               Un sinónimo para SIGPWR
       SIGLOST        -,-,-       Term    Bloqueo de fichero perdido.
       SIGWINCH     28,28,20      Ign     Señal de reescalado de la ventana (4.3 BSD, Sun)
       SIGUNUSED     -,31,-       Term    Señal no usada.

       (La señal 29 es SIGINFO / SIGPWR en la arquitectura alpha pero SIGLOST en sparc.)

       La señal SIGEMT no está especificada en el estándar POSIX 1003.1-2001, pero sin  embargo  aparece  en  la
       mayoría  de Unix's, donde su comportamiento por defecto es habitualmente terminar el proceso sin realizar
       un volcado de memoria.

       La señal SIGPWR (que no está especificada en el estándar POSIX 1003.1-2001) es ignorada habitualmente por
       defecto en aquellos Unix's donde aparece.

       La señal SIGIO (que no está especificada en el estándar POSIX 1003.1-2001) es  ignorada  por  defecto  en
       muchos Unix's.

   Señales en Tiempo real
       Linux  soporta  señales  en tiempo real tal como está definido originalmente en las extensiones de tiempo
       real de POSIX.4 (ahora incluidas en POSIX  1003.1-2001).   Linux  soporta  32  señales  en  tiempo  real,
       numeradas  del  32  (SIGRTMIN)  al  63  (SIGRTMAX).   (Los programas deben hacer referencia siempre a las
       señales en tiempo real usando la notación SIGRTMIN+n, puesto que el rango de números de señales en tiempo
       real varía entre sistemas Unix's.)

       A diferencia de las señales estándar, las señales en tiempo real no tienen un significado predefinido: el
       conjunto al completo de señales en tiempo real puede usarse para propósitos definidos por la  aplicación.
       (Observe, sin embargo, que la implementación LinuxThreads usa las tres primeras señales en tiempo real.)

       La acción por defecto para una señal en tiempo real no manejada es terminar el proceso receptor.

       Las señales en tiempo real se distinguen por lo siguiente:

       1.  Varias  instancias  de  señales  en  tiempo real pueden ser puestas en cola.  En contraste, si varias
           instancias de una señal estándar llegan mientras  esa  señal  está  siendo  bloqueada,  solamente  la
           primera de ellas es puesta en cola.

       2.  Si  la  señal  se envía usando sigqueue(2), puede enviarse con la señal un valor (bien un entero o un
           puntero).  Si el  proceso  receptor  establece  un  manejador  para  esta  señal  usando  la  bandera
           SA_SIGACTION  en  sigaction(2) puede obtener estos datos a través del campo si_value de la estructura
           siginfo_t pasada como segundo argumento al manejador.  Además, los campos si_pid  y  si_uid  de  esta
           estructura  pueden usarse para obtener el identificador de proceso y el identificador de usuario real
           del proceso que envía la señal.

       3.  Las señales en tiempo real se entregan en un orden garantizado.  Varias señales en  tiempo  real  del
           mismo tipo llegan en el orden en que fueron enviadas.  Si se envían diferentes señales en tiempo real
           a  un  proceso,  se  comunican  comenzando por la que tenga menor número.  (es decir, las señales con
           número bajo tienen mayor prioridad.)

       Si hay señales estándar y en tiempo real pendientes para  un  proceso,  POSIX  deja  indefinido  cuál  es
       entregada  en  primer  lugar.   Linux,  como  otras  muchas  implementaciones, da prioridad a las señales
       estándar en este caso.

       Según POSIX, una implementación debería permitir que pudieran entrar en la cola de un  proceso  al  menos
       _POSIX_SIGQUEUE_MAX  (32)  señales  en  tiempo  real.   Sin embargo, en lugar de establecer un límite por
       proceso, Linux impone un límite para todo el sistema sobre el número de señales en tiempo real que  puede
       haber  en  la  cola  para  todos  los  procesos.   Este  límite  puede ser consultado (y con privilegios)
       modificado   a   través   del    fichero    /proc/sys/kernel/rtsig-max.     Un    fichero    relacionado,
       /proc/sys/kernel/rtsig-nr,  puede  ser  usado  para  averiguar  cuántas  señales  en  tiempo  real  están
       actualmente en cola.

CONFORME A

       POSIX.1

FALLOS

       SIGIO y SIGLOST tienen el mismo valor.  Este último está comentado en las fuentes  del  núcleo,  pero  el
       proceso de construcción de algunos programas aún piensa que la señal 29 es SIGLOST.

VÉASE TAMBIÉN

       kill(1), kill(2), setitimer(2), sigaction(2), signal(2), sigprocmask(2), sigqueue(2)

Linux 2.4.18                                      13 junio 2002                                        SIGNAL(7)