¿Cómo implemento ctrl+ cmanejo en los scripts bash para que el script se interrumpa, así como el comando actualmente en ejecución lanzado por el script?
(Imagine que hay un script que ejecuta algún comando de ejecución prolongada. El usuario presiona ctrl+ ce interrumpe el comando, pero el script continúa.) Necesito que se comporte de una manera que ambos sean asesinados.
bash
shell-scripting
Kolypto
fuente
fuente
bg
, eliminarlo o continuarlo en primer plano confg
. Vea la sección de la página de manual de bashJOB CONTROL
.Respuestas:
Para ello, cree una subrutina a la que desee llamar cuando se reciba SIGINT y deba ejecutarla
trap 'subroutinename' INT
.Ejemplo:
fuente
EXIT
en los casos en que tiene algo que desea ejecutar cada vez que el script se cierra, independientemente de cómo se detuvo. (KILL
excepto, por supuesto).