echo Mon PID=$$
export NB=0
trap "NB=$((NB+1)); echo NB1=$NB" SIGUSR1
while true; do
sleep 1
echo NB2=$NB
done
Dans une autre fenêtre, j'envoie des signaux, avec:
kill -s SIGUSR1 numéro_du_pid
Si j'envoie 2 signaux, je recois:
NB2=0
NB1=0
NB2=1
NB1=0
NB2=1
Le compteur est manifestement incorrect mais je ne comprends pas pourquoi.
Il semble que le trap n'ait pas un environnement normal. Quelqu'un est-il renseigné à ce sujet?
Merci