señal – Comando Linux / Unix

señal – Comando Linux / Unix

señal – Comando Linux / Unix

VALORACIÓN DEL ARTÍCULO:
5/5


Linux soporta tanto señales POSIX fiables (en adelante «señales estándar») como señales POSIX en tiempo real.

Señales estándar

Linux soporta las señales estándar listadas a continuación. Varios números de señal dependen de la arquitectura, como se indica en la columna «Valor». (Donde se dan tres valores, el primero es generalmente válido para alpha y sparc, el del medio para i386, ppc y sh, y el último para mips. A – indica que una señal está ausente en la arquitectura correspondiente.)

Las entradas de la columna «Acción» de la tabla especifican la acción por defecto para la señal, como se indica a continuación:

Término

La acción por defecto es terminar el proceso.

Ign

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

Núcleo

La acción predeterminada es terminar el proceso y volcar el núcleo.

Detener

La acción predeterminada es detener el proceso.

En primer lugar, las señales descritas en la norma original POSIX.1.

SignalValueActionCommentor death of controlling process SIGINT 2TermInterrupt from keyboard SIGQUIT 3CoreQuit from keyboard SIGILL 4CoreIllegal Instruction SIGABRT 6CoreAbort señal de abort(3) SIGFPE 8CoreFloating point exception SIGKILL 9TermKill señal SIGSEGV 11CoreInvalid memory reference SIGPIPE 13TermBroken pipe: escribir en la tubería sin lectores SIGALRM 14TermTimer signal from alarm(2) SIGTERM 15TermTermination signal SIGUSR1 30,10,16TérminoSeñal definida por el usuario 1 SIGUSR2 31,12,17TérminoSeñal definida por el usuario 2 SIGCHLD 20,17,18IgnChild detuvo o terminó SIGCONT 19,18,25Continuar si se detuvo SIGSTOP 17,19,23StopStopStop process SIGTSTP 18,20,24StopStopStop tecleado en tty SIGTTIN 21,21,26Stoptty input for background process SIGTTOU 22,22,27Stoptty output for background process

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

A continuación, las señales que no se encuentran en la norma POSIX.1, sino que se describen en SUSv2 y SUSv3 / POSIX 1003.1-2001.

SignalValueActionComment SIGPOLL TermPollable event (Sys V). Sinónimo de SIGIO SIGPROF 27,27,29TermProfiling timer expired SIGSYS 12,-,12CoreBad argument to routine (SVID) SIGTRAP 5CoreTrace/breakpoint trap SIGURG 16,23,21IgnUrgent condition on socket (4.2 BSD) SIGVTALRM 26,26,28TermReloj de alarma virtual (4.2 BSD) SIGXCPU 24,24,30CoreCPU tiempo límite excedido (4.2 BSD) SIGXFSZ 25,25,31CoreFile size limit exceeded (4.2 BSD)

Hasta e incluyendo Linux 2.2, el comportamiento por defecto para SIGSYS , SIGXCPU , SIGXFSZ , SIGXFSZ , y (en arquitecturas que no sean SPARC y MIPS), SIGBUS , SIGBUS era terminar el proceso (sin un volcado de núcleo). (En algunos otros Unices la acción por defecto para SIGXCPU y SIGXFSZ es terminar el proceso sin un volcado de núcleo.) Linux 2.4 cumple con los requisitos de POSIX 1003.1-2001 para estas señales, terminando el proceso con un volcado de núcleo.

A continuación varias otras señales.

SignalValueActionComment SIGEMT 7,-,7Term SIGSTKFLT -,16,-TermStack fault on coprocessor (unused) SIGIO 23,29,22TermI/O now possible (4.2 BSD) SIGCLD -,-,18IgnA sinónimo de SIGCHLD SIGPWR 29,30,19Fallo en la alimentación (Sistema V) SIGINFO 29,-Un sinónimo de SIGPWR SIGLOST -,-,-,-TermFile lock lost SIGWINCH 28,28,20IgnWindow redimensionar la señal (4.)3 BSD, Sun) SIGUNUSED -,31,-TermSeñal no utilizada (será SIGSYS)

(La señal 29 es SIGINFO / SIGPWR en un alfa pero SIGLOST en un sparc.)

SIGEMT no está especificado en POSIX 1003.1-2001, pero no obstante aparece en la mayoría de los otros Unices, donde su acción por defecto es típicamente terminar el proceso con un volcado de núcleo.

SIGPWR (que no está especificado en POSIX 1003.1-2001) es típicamente ignorado por defecto en aquellos otros Unices donde aparece.

SIGIO (que no está especificado en POSIX 1003.1-2001) se ignora por defecto en varios otros Unices.

Señales en tiempo real

Linux soporta señales en tiempo real tal y como se definieron originalmente en las extensiones en tiempo real POSIX.4 (y ahora incluidas en POSIX 1003.1-2001). Linux soporta 32 señales en tiempo real, numeradas de 32 ( SIGRTMIN ) a 63 ( SIGRTMAX ). (Los programas siempre deben referirse a señales en tiempo real usando notación SIGRTMIN +n, ya que el rango de números de señales en tiempo real varía entre los Unices.)

A diferencia de las señales estándar, las señales en tiempo real no tienen un significado predefinido: todo el conjunto de señales en tiempo real puede utilizarse para fines definidos por la aplicación. (Tenga en cuenta, sin embargo, que la implementación de LinuxThreads utiliza 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 de recepción.

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

  1. Se pueden poner en cola múltiples instancias de señales en tiempo real. Por el contrario, si se entregan varias instancias de una señal estándar mientras esa señal está actualmente bloqueada, entonces sólo se pone en cola una instancia.
  2. Si la señal se envía utilizando sigqueue (2), se puede enviar un valor acompañante (un entero o un puntero) con la señal. Si el proceso de recepción establece un controlador para esta señal utilizando el indicador SA_SIGACTION a sigaction (2) entonces puede obtener estos datos a través del campo si_value de la estructura siginfo_t pasado como segundo argumento al controlador. Además, los campos si_pid y si_uid de esta estructura pueden utilizarse para obtener el PID y el ID de usuario real del proceso que envía la señal.
  3. Las señales en tiempo real se entregan en un orden garantizado. Múltiples señales en tiempo real del mismo tipo se entregan en el orden en que fueron enviadas. Si se envían diferentes señales en tiempo real a un proceso, se envían a partir de la señal con el número más bajo. (Es decir, las señales con números bajos tienen mayor prioridad.)

Si tanto las señales estándar como las en tiempo real están pendientes de un proceso, POSIX deja sin especificar cuál es el primero que se entrega. Linux, como muchas otras implementaciones, da prioridad a las señales estándar en este caso.

Según POSIX, una implementación debe permitir que al menos _POSIX_SIGQUEUE_MAX (32) señales en tiempo real se coloquen en un proceso. Sin embargo, en lugar de poner un límite por proceso, Linux impone un límite en todo el sistema sobre el número de señales en cola en tiempo real para todos los procesos. Este límite se puede ver (y con privilegios) a través del archivo /proc/sys/kernel/rtsig-max. Un archivo relacionado, /proc/sys/kernel/rtsig-max, puede usarse para averiguar cuántas señales en tiempo real están en cola.

CONFORMANDO A

POSIX.1

Importante: Utilice el comando man ( % man) para ver cómo se utiliza un comando en su equipo particular.

TAMBIÉN TE INTERESA

nuevo mac studio

El nuevo Mac Studio es inalcanzable para cualquier PC de escritorio

Apple ha presentado su equipo de sobremesa más potente hasta la fecha: el nuevo Mac Studio, impulsado por los chips M4 Max y el nuevo M3 Ultra, una auténtica bestia orientada a profesionales de la inteligencia artificial, el diseño, la ingeniería o el desarrollo de software que buscan rendimiento extremo en un formato compacto. Vale,

camara seguridad doble lente de Beans View

Beans View tiene una cámara de seguridad de doble lente a un precio imbatible en Amazon

La seguridad inteligente del hogar da un nuevo paso con la Beans View 220 Dual 3K, la última incorporación al catálogo de la marca especializada en cámaras Wi-Fi. Este nuevo modelo, diseñado para ofrecer una vigilancia integral y precisa en espacios interiores, combina tecnología de doble lente, inteligencia artificial, visión nocturna a color y seguimiento

industria del videojuego

La industria del videojuego ya se mueve por un público muy distinto al de hace años

Durante años, el imaginario colectivo ha situado al jugador de videojuegos en el rincón oscuro de una habitación, joven, solitario, inmóvil frente a una pantalla. Esa imagen está cada vez más lejos de la realidad para la industria del videojuego. La V Radiografía del Gaming en España, elaborada por el ecommerce tecnológico PcComponentes, desmonta con

nuevos powerbanks Ewent

5 powerbanks de Ewent para cada necesidad: seguro que hay uno para ti

Las powerbanks o también llamadas baterías portátiles se han convertido en un aliado para muchas personas que hacen un uso intensivo de sus dispositivos electrónicos. Para los smartphones, estos componentes son ya una extensión de los mismos para muchas personas, sin embargo no solo existen este tipo de gadgets para teléfonos, sino que hay otros

contraseñas

¿Y si los métodos de seguridad en el futuro fueran sin contraseñas?

A pesar de los constantes avances en tecnología y ciberseguridad, los métodos de seguridad más tradicionales, es decir, las contraseñas, siguen siendo la opción predilecta por la mayoría para proteger su información o para acceder a las plataformas. No obstante, las contraseñas son actualmente uno de los grandes eslabones débiles en la protección de identidades