#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 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é
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
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.