FreeToGenerate.com

La señal 10 es SIGUSR1 en x86 y SIGBUS en casi todo lo demás. Un número fijado a mano no falla en la máquina equivocada: hace otra cosa.

¿Qué significa este número?

x86, ARM y la mayoría de Linux
SIGUSR1
Alpha y SPARC
SIGBUS
MIPS
SIGBUS
PA-RISC
SIGBUS
macOS
SIGBUS

Este número significa cosas distintas en plataformas distintas. El código que lo escribe a mano no falla de forma ruidosa en la máquina equivocada: hace otra cosa.

Los números no son arbitrarios: siguen un árbol genealógico

31 de las señales que definen ambas fuentes, macOS coincide con Alpha y SPARC 31 · x86, ARM y la mayoría de Linux 19

macOS y las arquitecturas Alpha y SPARC descienden todas de BSD, mientras que Linux sobre x86 adoptó la numeración de System V. Así que una columna de la tabla de Linux es, en la práctica, la columna BSD, y el desacuerdo entre ambas familias es justo lo que hace inseguro fijar un número a mano.

39 señales

La señal no existe en esa plataforma, que es un hecho distinto de tener otro número.

SIGABRTP1990Core lo termina y escribe un volcado
x86, ARM y la mayoría de Linux
6
Alpha y SPARC
6
MIPS
6
PA-RISC
6
macOS
6

Abort signal from abort(3)

SIGALRMP1990Term termina el proceso
x86, ARM y la mayoría de Linux
14
Alpha y SPARC
14
MIPS
14
PA-RISC
14
macOS
14

Timer signal from alarm(2)

SIGBUSP2001Core lo termina y escribe un volcadonúmero reutilizado
x86, ARM y la mayoría de Linux
7
Alpha y SPARC
10
MIPS
10
PA-RISC
10
macOS
10

Bus error (bad memory access)

SIGCHLDP2001Ign se ignora salvo que la manejesnúmero reutilizado
x86, ARM y la mayoría de Linux
17
Alpha y SPARC
20
MIPS
18
PA-RISC
18
macOS
20

Child stopped, terminated, or continued

SIGCLDIgn se ignora salvo que la manejesnúmero reutilizado
x86, ARM y la mayoría de Linux
no existe
Alpha y SPARC
no existe
MIPS
18
PA-RISC
no existe
macOS
no existe

A synonym for SIGCHLD

SIGCONTP1990Cont lo reanuda si estaba paradonúmero reutilizado
x86, ARM y la mayoría de Linux
18
Alpha y SPARC
19
MIPS
25
PA-RISC
26
macOS
19

Continue if stopped

SIGEMTTerm termina el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
no existe
Alpha y SPARC
7
MIPS
7
PA-RISC
no existe
macOS
7

Emulator trap

SIGFPEP1990Core lo termina y escribe un volcado
x86, ARM y la mayoría de Linux
8
Alpha y SPARC
8
MIPS
8
PA-RISC
8
macOS
8

Erroneous arithmetic operation

SIGHUPP1990Term termina el proceso
x86, ARM y la mayoría de Linux
1
Alpha y SPARC
1
MIPS
1
PA-RISC
1
macOS
1

Hangup detected on controlling terminal

SIGILLP1990Core lo termina y escribe un volcado
x86, ARM y la mayoría de Linux
4
Alpha y SPARC
4
MIPS
4
PA-RISC
4
macOS
4

Illegal Instruction

SIGINFOnúmero reutilizado
x86, ARM y la mayoría de Linux
no existe
Alpha y SPARC
29
MIPS
no existe
PA-RISC
no existe
macOS
29

Alpha y SPARC difieren: Alpha 29, SPARC absent

SIGINTP1990Term termina el proceso
x86, ARM y la mayoría de Linux
2
Alpha y SPARC
2
MIPS
2
PA-RISC
2
macOS
2

Interrupt from keyboard

SIGIOTerm termina el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
29
Alpha y SPARC
23
MIPS
22
PA-RISC
22
macOS
23

I/O now possible (4.2BSD)

SIGIOTCore lo termina y escribe un volcado
x86, ARM y la mayoría de Linux
6
Alpha y SPARC
6
MIPS
6
PA-RISC
6
macOS
no existe

IOT trap. A synonym for SIGABRT

SIGKILLP1990Term termina el proceso
x86, ARM y la mayoría de Linux
9
Alpha y SPARC
9
MIPS
9
PA-RISC
9
macOS
9

Kill signal

SIGLOSTTerm termina el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
no existe
Alpha y SPARC
29
MIPS
no existe
PA-RISC
no existe
macOS
no existe

Alpha y SPARC difieren: Alpha absent, SPARC 29

File lock lost (unused)

SIGPIPEP1990Term termina el proceso
x86, ARM y la mayoría de Linux
13
Alpha y SPARC
13
MIPS
13
PA-RISC
13
macOS
13

Broken pipe: write to pipe with no

SIGPOLLP2001Term termina el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
no existe
Alpha y SPARC
no existe
MIPS
no existe
PA-RISC
no existe
macOS
7

Pollable event (Sys V);

SIGPROFP2001Term termina el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
27
Alpha y SPARC
27
MIPS
29
PA-RISC
21
macOS
27

Profiling timer expired

SIGPWRTerm termina el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
30
Alpha y SPARC
29
MIPS
19
PA-RISC
19
macOS
no existe

Alpha y SPARC difieren: Alpha 29, SPARC absent

Power failure (System V)

SIGQUITP1990Core lo termina y escribe un volcado
x86, ARM y la mayoría de Linux
3
Alpha y SPARC
3
MIPS
3
PA-RISC
3
macOS
3

Quit from keyboard

SIGSEGVP1990Core lo termina y escribe un volcado
x86, ARM y la mayoría de Linux
11
Alpha y SPARC
11
MIPS
11
PA-RISC
11
macOS
11

Invalid memory reference

SIGSTKFLTTerm termina el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
16
Alpha y SPARC
no existe
MIPS
no existe
PA-RISC
7
macOS
no existe

Stack fault on coprocessor (unused)

SIGSTKSZ
x86, ARM y la mayoría de Linux
no existe
Alpha y SPARC
no existe
MIPS
no existe
PA-RISC
no existe
macOS
131072
SIGSTOPP1990Stop suspende el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
19
Alpha y SPARC
17
MIPS
23
PA-RISC
24
macOS
17

Stop process

SIGSYSP2001Core lo termina y escribe un volcadonúmero reutilizado
x86, ARM y la mayoría de Linux
31
Alpha y SPARC
12
MIPS
12
PA-RISC
31
macOS
12

Bad system call (SVr4);

SIGTERMP1990Term termina el proceso
x86, ARM y la mayoría de Linux
15
Alpha y SPARC
15
MIPS
15
PA-RISC
15
macOS
15

Termination signal

SIGTRAPP2001Core lo termina y escribe un volcado
x86, ARM y la mayoría de Linux
5
Alpha y SPARC
5
MIPS
5
PA-RISC
5
macOS
5

Trace/breakpoint trap

SIGTSTPP1990Stop suspende el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
20
Alpha y SPARC
18
MIPS
24
PA-RISC
25
macOS
18

Stop typed at terminal

SIGTTINP1990Stop suspende el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
21
Alpha y SPARC
21
MIPS
26
PA-RISC
27
macOS
21

Terminal input for background process

SIGTTOUP1990Stop suspende el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
22
Alpha y SPARC
22
MIPS
27
PA-RISC
28
macOS
22

Terminal output for background process

SIGUNUSEDCore lo termina y escribe un volcadonúmero reutilizado
x86, ARM y la mayoría de Linux
31
Alpha y SPARC
no existe
MIPS
no existe
PA-RISC
31
macOS
no existe

Synonymous with SIGSYS

SIGURGP2001Ign se ignora salvo que la manejesnúmero reutilizado
x86, ARM y la mayoría de Linux
23
Alpha y SPARC
16
MIPS
21
PA-RISC
29
macOS
16

Urgent condition on socket (4.2BSD)

SIGUSR1P1990Term termina el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
10
Alpha y SPARC
30
MIPS
16
PA-RISC
16
macOS
30

User-defined signal 1

SIGUSR2P1990Term termina el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
12
Alpha y SPARC
31
MIPS
17
PA-RISC
17
macOS
31

User-defined signal 2

SIGVTALRMP2001Term termina el procesonúmero reutilizado
x86, ARM y la mayoría de Linux
26
Alpha y SPARC
26
MIPS
28
PA-RISC
20
macOS
26

Virtual alarm clock (4.2BSD)

SIGWINCHnúmero reutilizado
x86, ARM y la mayoría de Linux
28
Alpha y SPARC
28
MIPS
20
PA-RISC
23
macOS
28
SIGXCPUP2001Core lo termina y escribe un volcadonúmero reutilizado
x86, ARM y la mayoría de Linux
24
Alpha y SPARC
24
MIPS
30
PA-RISC
12
macOS
24

CPU time limit exceeded (4.2BSD);

SIGXFSZP2001Core lo termina y escribe un volcadonúmero reutilizado
x86, ARM y la mayoría de Linux
25
Alpha y SPARC
25
MIPS
31
PA-RISC
30
macOS
25

File size limit exceeded (4.2BSD);

Números del manual signal(7) de Linux y de la cabecera de Apple, leídos en la fecha indicada. 2026-08-03

También disponible en: English · Português · Français · العربية

Números de señal en Linux

El número de cada señal en cinco plataformas, la búsqueda inversa para un número suelto, y el motivo de que los números no coincidan.

¿Qué son los números de señal?

Una señal es la forma que tiene un sistema Unix de interrumpir un proceso en marcha: para pedirle que pare, para avisarle de que un hijo ha terminado, para informarle de que ha tocado memoria que no debía. Cada una tiene un nombre como SIGTERM y un entero pequeño, y kill envía una por cualquiera de los dos. Los nombres los fija POSIX. Los números no.

Ahí está toda la dificultad. POSIX estandariza qué señales existen y qué significan, y deja la numeración a cada implementación, así que la tabla de abajo tiene cinco columnas, una por plataforma, y bastantes filas donde no coinciden.

Esta página lleva las 39 señales del manual de Linux y de la cabecera de Apple, con el número que le asigna cada plataforma, si POSIX la estandariza y qué hace la acción por defecto si no la manejas. Encima de la tabla está el control que más importa: escribe un número suelto y te dice qué significa en todas partes.

Cómo usarla

  1. Empieza por el número, si es lo que tienes. Escríbelo en la búsqueda inversa y obtienes la señal que nombra en cada plataforma, y un aviso si no coinciden. Esa es la dirección en la que te deja una línea de registro o un estado de salida.
  2. Busca por nombre, número o descripción. SIGKILL, kill, 9 y pipe funcionan todos, y el nombre exacto sale primero en vez de quedar enterrado bajo todo lo que simplemente contiene esas letras.
  3. Lee la fila entera. La acción por defecto te dice qué pasa si tu programa ignora la señal, y «no existe» significa que la señal no está ahí en absoluto, que es un hecho distinto de tener otro número.

Por qué no coinciden los números, y por qué no es al azar

El ejemplo famoso es SIGUSR1. Es 10 en x86 y ARM, 30 en Alpha y SPARC, y 16 en MIPS y PA-RISC: tres números distintos para un nombre, y todos ellos Linux. La divergencia no es entre sistemas operativos, es entre arquitecturas del mismo.

Dicho así suena a incordio. Dicho al revés es un peligro: el mismo número significa señales distintas. El diez es SIGUSR1 en x86 y SIGBUS en casi todo lo demás, así que un script o un trozo de código que fije el 10 a mano no falla de forma ruidosa cuando corre donde no esperaba. Manda un error de bus a un proceso que esperaba una señal de usuario, y el proceso muere de una manera para la que nadie escribió un manejador.

Lo tranquilizador es que el desacuerdo tiene forma. De las 31 señales que definen tanto el manual de Linux como la cabecera de Apple, macOS coincide con la columna de Alpha y SPARC en todas y cada una, y con x86 solo en 19. macOS y esas arquitecturas descienden de BSD; Linux sobre x86 siguió en cambio la numeración de System V. Así que aquí hay en realidad dos familias, y una columna de la tabla de Linux es la columna BSD con otra etiqueta.

Un puñado de números son iguales en todas partes, y por eso son los que la gente recuerda: 1 siempre es SIGHUP, 2 siempre SIGINT, 9 siempre SIGKILL, 15 siempre SIGTERM. Esos cuatro se pueden fijar a mano sin miedo. Casi ningún otro.

Límites honestos

Cinco plataformas no son todas las plataformas. El manual de Linux documenta cuatro agrupaciones de arquitecturas y Apple documenta macOS; los demás BSD, Solaris, AIX y el resto tienen sus propias cabeceras y no aparecen aquí. Como todo el sentido de la página es que los números varían, trata una ausencia como «desconocido» y no como «coincide»: la conclusión segura de esta tabla es siempre usar el nombre.

La tabla además se detiene antes de las señales de tiempo real. Van de SIGRTMIN a SIGRTMAX, no tienen nombres individuales, y SIGRTMIN ni siquiera es una constante: la biblioteca de C se reserva algunas de las bajas para su propio uso, así que el valor cambia entre sistemas e incluso entre versiones de la biblioteca. Un número de ese rango no se puede buscar en ninguna tabla, que es una versión más fuerte del mismo aviso.

Y los números de señal no son códigos de salida, aunque se encuentran. Un shell informa de un proceso matado por la señal N como estado de salida 128 más N, así que un estado 137 significa la señal 9 en una plataforma donde el 9 es SIGKILL. Esa aritmética es un convenio del shell y no parte de la señal, y hereda el mismo problema de portabilidad.

Los datos se leen del manual signal(7) de Linux y de la cabecera xnu de Apple, no de otra tabla, y debajo de la lista está la fecha en que se leyeron.

¿Por qué es gratis?

Porque no cuesta nada mantenerla. La tabla forma parte de la página y la búsqueda ocurre en tu navegador; no se sube nada y ningún servidor ve lo que consultaste.

El guion que lee ambas fuentes está guardado junto a los datos que produce, y las pruebas comprueban por su nombre los números y la medición del árbol genealógico, así que una fila mala rompe la compilación en vez de llegar a la página.