Comment puis-je implémenter ctrl+ la cgestion dans les scripts bash afin que le script soit interrompu, ainsi que la commande en cours d'exécution lancée par le script?
(Imaginez qu'il existe un script qui exécute une commande de longue durée. L'utilisateur frappe ctrl+ cet interrompt la commande, mais le script continue.) J'ai besoin qu'il se comporte de manière à ce qu'ils soient tous les deux tués.
bash
shell-scripting
kolypto
la source
la source
bg
, le tuer ou le continuer en premier plan avecfg
. Voir la section de page de manuel bashJOB CONTROL
.Réponses:
Pour ce faire, créez un sous-programme que vous souhaitez appeler lorsque SIGINT est reçu et que vous devez exécuter
trap 'subroutinename' INT
.Exemple:
la source
EXIT
dans les cas où vous avez quelque chose que vous souhaitez exécuter à chaque fois que le script se termine, quelle que soit la façon dont il s'est arrêté. (KILL
sauf, bien sûr.)