Lancer un programme toutes les 10 secondes

Spizer -  
 wood -
Bonjour,

J'aimerais lancer un script toutes les 10 secondes, j'ai déjà essayé crontab mais celui-ci se limite à la minute.
Comment puis je faire merci d'avance.

8 réponses

  1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Avec un script shell ?

    Tu fais une boucle en shell dans un script, avec une commande sleep 10, et tu lance ton script en tâche de fond (monscript &), quitte à le lancer au démarrage de la machine (/etc/rc.local)
    4
  2. wood
     
    il y a une commande pour ça: watch

    man watch

    exemple:
    watch -n 10 date


    pour lancement 'en aveugle':
     watch -n 10 date > /dev/null
    2
  3. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Non.
    Quand le sleep dort, ça ne consomme rien.
    1
  4. Spizer
     
    dmganges, le crontab ne prend pas en compte les secondes !
    Et si je fais un i=0 while(i>0){ mon code; sleep 10;}, je fais comment pour stopper le programme apres ?
    1
    1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
       
      kill :-)
      0
    2. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
       
      Bon en fait il y a un autre moyen, comme par exemple: examiner la présence d'un fichier.
      Si le fichier existe, quitter et effacer le fichier. (Tu intègre ça dans ta boucle.)

      Comme ça tu peux arrêter ton programme en faisant un touch arrete_toi
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    tu lances un script qui reste en permanence en machine et tu mets des sleep 10 avec une boucle pour lancer ton programme.

    genre :

    while true
    programme.sh
    sleep 10
    end while
    0
  7. Spizer
     
    J'ai vu effectivement cette facon de faire, mais est ce que ça n'utilise pas trop de cpu justement ?
    0
  8. tickleman
     
    si je puis me permettre : tout simplement :
    (à traduire dans le language de ton choix)

    while (file_exists(/tmp/fichier_flag_securite)) {
    sleep 1;
    }
    touch /tmp/fichier_flag_securite
    i = 6;
    while (i-- > 0) {
    mon code;
    sleep 10;
    }
    delete /tmp/fichier/flag/securite
    0