Exécution de tâche a une date précise en C
Résolu/Fermémamiemando Messages postés 33378 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 novembre 2024 - 29 août 2023 à 16:21
- Exécution de tâche a une date précise en C
- Windows 11 barre des taches a gauche - Guide
- Gestionnaire de tache - Guide
- Whatsapp date incorrecte ✓ - Forum Mobile
- Trouver une date de naissance gratuit - Forum Réseaux sociaux
3 réponses
Regardes la fonction time().
Pour la boucle "infinie", regardes la fonction sleep()
Si tu peux calculer la différence des deux temps, tu pourrais faire un sleep de plusieurs secondes pour économiser du temps CPU
28 août 2023 à 10:35
Salut Deave,
Le plus léger est juste de programmer ce que doit faire ton programme et de laisser le soin à ton système d'exploitation de le lancer à la date et heure souhaitée.
La façon de faire cela avec le système d'exploitation dépend du système d'exploitation concerné.
Sous Windows, c'est avec le "Planificateur de tâches"
28 août 2023 à 11:18
Bonjour,
Le blème, c'est que ton prog en C, qui va le lancer ?
Modifié le 28 août 2023 à 19:01
il peut être lancé à la main ou au démarrage du système, par exemple.
D'autres problèmes avec l'approche de Deave:
- le programme consomme des ressources mémoire et CPU pour rien
- une fois lancé, il peut être fermé par l'utilisateur et ne sera pas en fonctionnement lorsque la date et heure arriveront
La recommandation de Pierrot est très importante, car un programme qui ne fait rien d'autre que boucler à l'infini, s'il est mal fait et ne prend pas en compte sa recommandation, va consommer toutes les ressources CPU du coeur sur lequel il est lancé en bouclant à toute vitesse en attendant que la date et heure arrive.
Le CPU a autre chose à faire, et tous les systèmes d'exploitation ont un moyen de programmer ou planifier le lancement de programmes (sous Linux, et MacOS je pense, c'est "cron").
Modifié le 29 août 2023 à 16:23
Bonjour
- Effectivement, sous Linux on utiliserait cron ou fcron pour répéter une tâche arbitraire à un moment précis (par exemple toutes les heures). Si on veut juste retarder une tâche, on utiliserait at.
- Si on veut s'affranchir du système d'exploitation, comme suggéré précédemment, on endormirait le programme avec la fonction sleep.
Bonne chance