Dans le script bash, je traite différents signaux comme suit:
#!/bin/bash sighdl () { echo "signal caught" #do something exit 0 } trap sighdl SIGKILL SIGINT SIGTERM
Le code ci-dessus gère le signal correctement pour l’activité suivante:
kill pid
pkill scriptname
Pour kill -9 pid
il n’appelle pas sighdl
. Selon ce que je comprends (si je ne me trompe pas), kill -9
envoie le signal SIGKILL.
Une idée?
Tu ne peux pas faire ça. Oui 9 est SIGKILL
et le système Unix par conception ne permet à aucun script / programme de piéger SIGKILL
pour des raisons de sécurité. Sinon, tout script peut piéger et ignorer SIGKILL, ce qui rendra impossible de terminer ce script par le système d’exploitation.