* Señales de terminación: Estas señales se envían a un proceso para terminarlo, por ejemplo, `Sigint` (interrupción) o 'Sigterter` (terminado).
* Señales de error: Estas señales se envían a un proceso para indicar un error, por ejemplo, `SIGSEGV` (violación de la segmentación).
* Otras señales: Hay varias otras señales, como `Sigusr1` y` Sigusr2`, que pueden usarse para fines personalizados.
Cómo funciona `Trap`
El comando `Trap` le permite especificar qué acciones deben tomarse cuando un proceso recibe una señal particular. Tiene la siguiente sintaxis:
`` `Bash
Señal de 'comando' de trampa
`` `` ``
* `Command` :Este es el comando o la secuencia de comandos que se ejecutarán cuando se reciba la señal especificada.
* `señal` :Este es el número o nombre de señal que desea atrapar.
Ejemplos
1. Manejo `Sigint` (interrupción):
`` `Bash
trampa 'echo "interrumpido! Saliendo ..."; Salir 'int
`` `` ``
Esto imprimirá el mensaje "Interrupted! Saliendo ..." y luego saldrá del script cuando se presione `Ctrl+C` (que envía la señal` Sigint`).
2. Ignorando `Sigquit` (dejar):
`` `Bash
trampa '' renunciar
`` `` ``
Esto ignorará la señal `Sigquit` (típicamente enviada por` Ctrl+\ `) y evitará que termine el script.
3. Ejecutando un script de limpieza:
`` `Bash
TRAP 'Cleanup.sh' Salida
`` `` ``
Esto ejecutará el script `Cleanup.SH` cuando el proceso salga, independientemente del motivo de la terminación.
Notas importantes:
* El comando `Trap` solo afecta el proceso de shell actual.
* Si desea manejar señales en un proceso infantil, debe usar 'trampa' dentro de ese proceso infantil.
* Puede usar la opción `-L` con` trampa` para enumerar todas las señales disponibles.
En resumen, `Trap` proporciona un poderoso mecanismo para manejar señales y controlar el comportamiento de sus scripts Unix en respuesta a varios eventos.