[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: daemon lancé au démarrage qui "bouffe" toute la cpu !!!



Le 12915ième jour après Epoch,
Patrick Noël écrivait:

> le sleep 0.1 me donne "sleep: invalid time interval '0.1'"
>
> avec un "sleep 1" cela fonctionne sans problème 
>
> le daemon lancé est un bash qui surveille la présence de fichiers dans
> des dossiers pour les envoyer vers d'autres serveurs. Il contient une
> boucle avec une tempo faite par un "sleep 0,1"

Je m'en doutais ;)

Extrait:

> while [ 1 ]
> do 
[...]
> 	sleep $tempo_util
> 	
> 	dir=`ls -rt --ignore=tmp.* 2> /dev/null | head -n 1`
> 	if [ "$dir" != "" ] 
> 	then
[...]
> 	fi
>
> done 

Dans un répertoire initial vide, ton prog boucle indéfiniement et à
toute vitesse. Selon ta machine, et éventuellement un souci sur la
commande sleep, tu vas consommer toute la CPU. Tu précises qu'avec un
sleep 1 ça marche, alors pourquoi ne pas faire ça?

D'autre part, un petit prog avec l'utilisation de select(2) devrait
pouvoir améliorer l'attente.



Reply to: