Bonjour,
Je cherche un moyen simple de pouvoir exécuter une fonction à une heure (relativement) précise au sein d'un programme (écrit en C, tourne sur Linux).
J'ai un programme qui tourne tout le temps :
Et je voudrais qu'à une heure précise une fonction soit exécutée en plus de tout le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 while(1) { // execute du code usleep(100ms); }
Par exemple si l'heure courante est entre 01:00:00.000 et 01:00:00.100 (normalement ne peut se produire qu'une fois puisqu'on a un "pas" de 100ms minimum entre deux test) alors j’exécute ma fonction (sauf que c'est un peu lourd de recalculer tous les 100ms si on est entre les deux temps)
J'ai trouvé cette méthode : https://stackoverflow.com/questions/...nux-c/49868560
Mais il faudrait re-calculer chaque jour le TIMER_FREQUENCY suivant.. car la première fois que le programme est lancé n'est pas forcement 01:00:00.000.
Auriez vous des idées de comment procéder ?
Merci par avance pour votre aide
Partager