cours0708/P5B/ruby/chrono.rb

28 lines
792 B
Ruby

#!/usr/bin/ruby -w
# creation d'un processus chrono qui compte les secondes
# sur le signal SIGINT ( CTRL C) le processus affiche la valeur du compteur
# sur le signal SIGQUIT le processus affiche le compteur et quitte.
#
# tester aussi le comportement du pgme en le lancant dans une fenetre et envoi des signaux depuis une autre
# kill -2 pid provoque affichage du compteur
# kill -3 pid provoque affichage et arret
nsec=0
# SIGINT = Control + C
trap("SIGINT" ){ #attention a la place de l'accolade ouvrante
puts "\n" + nsec.to_s + " secondes ecoulees \n"
}
# Ctrl + AltGr + Touche 8 ("_")
trap("SIGQUIT" ){ #attention a la place de l'accolade ouvrante
puts "\nFin du chronomètre "+nsec.to_s + " secondes ecoulees \n"
exit
}
while true
sleep 1
nsec = nsec + 1
end