Rechercher : dans
Par :

Lancer un programme toutes les 10 secondes

Dernière réponse le 8 mar 2009 à 07:46:30 Spizer, le 14 jan 2008 à 14:00:56 
 Signaler ce message aux modérateurs

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.

Meilleures réponses pour « Lancer un programme toutes les 10 secondes » dans :
Lancer un programme automatiquement au login sous Ubuntu VoirLorsque vous ouvrez votre session, vous voulez que des programmes soient lancés automatiquement. C'est facile à faire. Par exemple, nous allons ouvrir un terminal automatiquement à la connexion: Allez dans le menu Système > Préférences >...
Accélérer le démarrage du PC VoirVotre démarrage est lent ? Voici quelques astuces qui vont vous permettre de gagner quelques secondes précieuses. Avec msconfig Avec bootvis Désactiver la date de dernier accès Supprimer le logo Windows au démarrage Quelques...

1

sebsauvage, le 14 jan 2008 à 14:03:31
  • +1

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)

Répondre à sebsauvage

2

blux, le 14 jan 2008 à 14:04:28

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

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

3

Spizer, le 14 jan 2008 à 14:28:43

J'ai vu effectivement cette facon de faire, mais est ce que ça n'utilise pas trop de cpu justement ?

Répondre à Spizer

4

sebsauvage, le 14 jan 2008 à 14:32:36
  • +1

Non.
Quand le sleep dort, ça ne consomme rien.

Répondre à sebsauvage

5

dmganges, le 14 jan 2008 à 14:38:50

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

@+

Répondre à dmganges

6

Spizer, le 14 jan 2008 à 14:46:43

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 ?

Répondre à Spizer

7

sebsauvage, le 14 jan 2008 à 14:50:21

Kill :-)

Répondre à sebsauvage

8

sebsauvage, le 14 jan 2008 à 14:51:32

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

Répondre à sebsauvage

9

 tickleman, le 8 mar 2009 à 07:46:30

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

Répondre à tickleman