ALARM(2)

NOM
alarm - Programmer un réveil pour l'émission d'un signal

SYNOPSIS
#include <unistd.h>

unsigned int alarm(unsigned int nb_sec);

DESCRIPTION
alarm() programme une temporisation pour qu'elle envoie un signal SIGALRM au processus appelant dans nb_sec secondes. Si seconds vaut zéro, toute alarme en attente est annulée. Dans tous les cas, l'appel alarm() annule l'éventuelle programmation précédente.

VALEUR RENVOYÉE
alarm() renvoie le nombre de secondes qu'il restait de la programmation précédente (annulée), ou zéro si aucune alarme n'avait été planifiée auparavant.

CONFORMITÉ
SVr4, POSIX.1-2001, BSD 4.3.

NOTES
Les fonctions alarm() et setitimer(2) partagent la même temporisation, aussi l'appel de l'une interfère avec l'utilisation de l'autre. Les alarmes créées par alarm() sont conservées lors des appels à execve(2), mais ne le sont pas par les fils créés avec fork(2).

sleep(3) peut être implémenté en utilisant SIGALRM, aussi il est déconseillé de mélanger les appels alarm() et sleep(3). Les délais dûs au multitâche peuvent, comme toujours, retarder le déclenchement d'une alarme d'une durée arbitraire.

VOIR AUSSI
gettimeofday(2), pause(2), select(2), setitimer(2), sigaction(2), signal(2), sleep(3), time(7)

COLOPHON
Cette page fait partie de la publication 3.70 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».