SIGUSR2
dépend de l'architecture et peut avoir une valeur de 31
, 12
ou 17
. Ceci est décrit dans man 7 signal
. Vous devrez trouver quelle valeur est appropriée pour votre système. Habituellement, cela se fait en examinant :
/usr/include/asm/signal.h
Sur mon système - Ubuntu 12.04 AMD 64 - il a une valeur de 12
:
#define SIGUSR2 12
Une fois que vous connaissez la valeur numérique appropriée pour SIGUSR2
sur votre système, vous pouvez envoyer ce signal en utilisant :
kill -SIGNO PID
# In this case
kill -12 PID
Sur ma machine Linux, cela fonctionne.
J'ai exécuté une boucle infinie (pid =4574), puis j'ai exécuté
#!/bin/bash
kill -l | grep USR2
kill -SIGUSR2 4574
tuer -l a montré le signal et kill -SIGUSR2 a envoyé le signal (tuant le processus).
Vérifiez si vous exécutez Bash ou un autre shell (par exemple, dash, busybox, etc.)
Manière multiplateforme de le faire :utilisez -s
sans le SIG
préfixe. Par exemple, :
kill -s USR2 $pid
Cela semble fonctionner à la fois sur MacOS et Linux.