“Conocimiento Sistemas>unix

¿Para qué sirve el comando de trampa?

2015/11/3
El comando `TRAP` en UNIX se usa para señales de manejo , que son eventos asincrónicos que pueden interrumpir un proceso de ejecución. Las señales se utilizan para notificar un proceso de varios eventos, como:

* 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.

unix
¿Cuál es la diferencia entre RSH y SSH?
¿Cuáles son los dos tipos de mando?
¿El comando sort es un filtro en Unix?
¿Mostrar una lista de todos los usuarios de su sistema que inician sesión con Bash Shell de forma predeterminada?
Unix Audit Checklist
Cómo imprimir el nombre de usuario en Unix Uso Exec
¿Cuál es la ventaja de comprar una versión patentada Unix sobre la versión abiertamente distribuida?
Las ventajas del sistema operativo Unix
Conocimiento de la computadora © http://www.ordenador.online