Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/10/2008, à 07:32

Hizoka

[resolu] Commande pendant un temps donné

Bonjour !

mon problème concerne bash

je cherche un moyen de lancer une commande pendant un certains temps (quelques secondes) et qui s'arrête pour passer aux suivantes.

explications :
je fais un wget ....un fichier
malheureusement il arrive souvent que le serveur déconne et du coup il se bloque car le ftp fonctionne mais il n'arrive pas a récupérer le fichier...

je voudrais donc faire un :
wget ....fichier | max 15sec....


voila smile merci beaucoup !

Dernière modification par Hizoka (Le 15/10/2008, à 16:39)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#2 Le 13/10/2008, à 11:04

Totor

Re : [resolu] Commande pendant un temps donné

Salut,
Et parmis les options "délai" de wget ?
http://www.delafond.org/traducmanfr/man/man1/wget.1.html


-- Lucid Lynx --

Hors ligne

#3 Le 13/10/2008, à 11:10

Hizoka

Re : [resolu] Commande pendant un temps donné

ca serait : --timeout= ?

pas trouver de delai...


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#4 Le 13/10/2008, à 11:58

tiky

Re : [resolu] Commande pendant un temps donné

Hizoka a écrit :

ca serait : --timeout= ?

pas trouver de delai...

Il suffit de lire le manuel de wget:

      -T seconds
       --timeout=seconds
           Set the network timeout to seconds seconds.  This is equivalent to specifying
           --dns-timeout, --connect-timeout, and --read-timeout, all at the same time.

           When interacting with the network, Wget can check for timeout and abort the operation
           if it takes too long.  This prevents anomalies like hanging reads and infinite con‐
           nects.  The only timeout enabled by default is a 900-second read timeout.  Setting a
           timeout to 0 disables it altogether.  Unless you know what you are doing, it is best
           not to change the default timeout settings.

           All timeout-related options accept decimal values, as well as subsecond values.  For
           example, 0.1 seconds is a legal (though unwise) choice of timeout.  Subsecond timeouts
           are useful for checking server response times or for testing network latency.

Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#5 Le 15/10/2008, à 16:22

Didouuuuuu

Re : [resolu] Commande pendant un temps donné

Sinon, j'ai un bout de script shell en bash qui peut servir pour ton besoin :

[i]<Ta commande>[/i]

pid=$!
{ echo Running ... for 60 sec ; sleep 60 ; kill $pid 2>/dev/null && echo Time out ... Aborted >&2; exit 1; } &

wait %- 2>/dev/null
CR=$?

kill %% 2>/dev/null
timeout=$?

if [[ $timeout == 0 ]]
   then
   if [[ $CR == 0 ]]
      then
         echo ${1}: SUCCEEDED
      else
         echo ${1}: FAILED
      fi
   else
      echo ${1}: TIME OUT
   fi

Ce que ça fait :
- ça attend 60 secondes avant de tuer le process ou de récupérer son compte-rendu.
- si affiche le résultat : SUCCESS, FAILED ou TIME OUT

#6 Le 15/10/2008, à 16:36

Hizoka

Re : [resolu] Commande pendant un temps donné

merci bien smile

c'est mieux car ca permet de le faire pour quelque soit la commande et non que wget .

merci a vous


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#7 Le 15/10/2008, à 16:59

Didouuuuuuu

Re : [resolu] Commande pendant un temps donné

Tant mieux, alors, si ça peut t'aider.:)

Au passage, c'est du code tiré d'un script de test et je me rends compte au passage que j'ai laissé ${1} par ci par là.
Il va de soi que c'est pas important et qu'en fait j'ai oublié de le supprimer avant de poster.