Re: La colle de la semaine

Page principale

Répondre à ce message
Auteur: Edgar Bonet
Date:  
À: guilde
Sujet: Re: La colle de la semaine
Ollivier Frederic a écrit :
> Je recherche un démon de type CRON ou une config de Cron qui me
> permettrait d'executer des tâches tous les 30 secondes.
> Quelqu'un à une idée ???


Tu mets les commandes à éxécuter dans ~/.minicronrc et tu lances le
programme ci-dessous en background :

---------- couper ici ----------
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>

#define RCNAME "$HOME/.minicronrc"

int delay = 30;

int main(void)
{
    time_t next, now;


    next = time(NULL);
    for (;;) {
        now = time(NULL);
        if (now >= next) {
            system("sh " RCNAME " &");
            while (now >= next) next += delay;
        }
        sleep(next - now);
    }
    return EXIT_SUCCESS;   /* never reached */
}
---------- couper ici ----------


Et tu l'arrêtes avec kill.

Philippe BEAU a répondu :
> Une boucle avec des for mais la machine va souffrir...


Elle ne souffre absolument pas. Quand tu fais sleep() tu ne consommes
pas de CPU.

-- 
Edgar Bonet                         Tel:    +33 476 881 096
Laboratoire Louis Néel -- CNRS      Mobile: +33 677 197 939
25 av. des Martyrs, BP 166          Fax:    +33 476 881 191
38042 Grenoble cedex 9, France      e-mail: bonet@???