On a parfois besoin de programmer l'exécution d'une tâche dans un programme écrit en langage C, par exemple pour envoyer un signal à un processus qui ne répond pas comme prévu : il existe plusieurs façons de répondre à ce besoin, ainsi que nous allons le voir dans cet article.
Les programmes C sous Linux ont la possibilité, grâce aux fonctions en bibliothèque, de manipuler des timers, c'est-à-dire des mécanismes capables d'exécuter des actions spécifiées à l'échéance d'une durée déterminée. Plusieurs fonctions sont disponibles : nous allons les étudier afin de pouvoir choisir les plus adaptées à nos besoins futurs. Les programmes de tests servant d'illustration dans cet article sont disponibles sur [1].
1. Armement d'un timer avec la fonction alarm()
1.1 Tests de la fonction
La fonction alarm() permet d'armer un timer qui, à l'issue d'un délai spécifié en secondes, va provoquer l'envoi par le système du signal SIGALRM au processus ayant appelé la fonction alarm(). Le traitement du signal par le processus peut être le traitement par défaut, en l'occurrence la fin de l'exécution du processus, ou l'exécution d'une fonction particulière dont on a spécifié l'adresse lors d'un appel à la fonction signal().
La fonction...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première