Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
process bloqué
Envoyé par: kilvan

Bonjour

Un script tourne en permanence sur ma distribution. Celui-ci se connecte toutes les 10 minutes sur une url distante, et récupère le titre de la page. Je simplifie mon code:


while true; 
do
	sleep 600
	lynx -source -connect_timeout=10 -cache=0 [www.google.fr] | grep -qi "<title>Google" 
	
	if [ $? == 0 ]
	then
		echo
		echo "Accès google OK"
	else
		killall lynx
		echo "échec !"
	fi
done

Problème: de temps en temps, le script "bloque" ( de quelques minutes à plusieurs heures ) sur cette partie:
lynx -source -connect_timeout=10 -cache=0 [www.google.fr] | grep -qi "<title>Google"

je pensais que le "-connect_timout=10" devait régler ce genre de problème, mais vraisemblablement ce n'est pas le cas.

Que me conseillez-vous ?

un début de solution:

lynx -source -connect_timeout=10 -cache=0 [www.google.fr] | grep -qi "<title>Google" &
sleep 5
if [ $? == 0 ]
then
   echo "Accès google OK"
else
    killall lynx
    echo "échec !"
fi

mais "$?" aura la valeur de retour du sleep, n'est-ce pas ? et d'ailleurs "$?" peut-il seulement retourner une valeur sur un process bloqué ?

Au pire, je peux programmer un redémarrage de mon script toutes les heures via crontab, mais ce n'est pas très propre...

merci de vos conseils...

Poste le Monday 28 May 2007 17:10:34
Répondre     Citer    
Re: process bloqué
Envoyé par: oudoubah

Citation
code
lynx -source -connect_timeout=10 -cache=0 | grep
-qi "<title>Google" &
# Sauvegarde du PID
PID=$?

sleep 5

# Si le processus existe toujours, on le tue (gniark gniark gniark angry smiley)angry smiley)angry smiley) #%b)
if [ ! -e /proc/$PID ]
then
echo "Accès google OK"
else
kill -KILL $PID
echo "échec !"
fi



Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Monday 28 May 2007 18:42:37
Répondre     Citer    
Re: process bloqué
Envoyé par: kilvan

mon dieu que je suis sot :-(


merci beaucoup !

Poste le Tuesday 29 May 2007 00:59:12
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
process bloqué
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons