Lancer un programme toutes les 10 secondes
Spizer
-
wood -
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.
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
-
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) -
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
-
Non.
Quand le sleep dort, ça ne consomme rien. -
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 ? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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
-
J'ai vu effectivement cette facon de faire, mais est ce que ça n'utilise pas trop de cpu justement ?
-
Ha ! non il te faut passer par cron
Là je n'ai pas beaucoup de temps,
il te faut ajouter une ligne dans le fichier /etc/crontab.
Tiens pour les param :
http://jp.barralis.com/linux-man/man5/crontab.5.php
@+ -
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