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)