A voir également:
- [Shell-Script] Temps de réponse
- Script vidéo youtube - Guide
- Thunderbird réponse automatique - Guide
- Blocage agriculteur carte en temps réel - Accueil - Transports & Cartes
- Renommer plusieurs fichiers en même temps - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
7 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
13 juin 2007 à 17:11
13 juin 2007 à 17:11
Salut,
Pour répondre à ta question en étant bref :
Pour répondre à ta question en étant bref :
sleep 120;-))
Merci Jipicy, c'est la commande que je cherchais. Mais je m'apperçois que je n'arrive pas du tout à faire ce que je veux.
En gros, 'killer' ma commande si le script reste bloqué dessus pendant x secondes.
En fait faudrait que ma commande et 'sleep' se lance en même temps mais que si le script continue (c-a-d que ma commande n'est pas bloqué) ben on tienne pas compte du sleep.
( désolé pour la 'lourdeur' de ma formulation mais je n'arrive pas à expliquer clairement le problème )
j'ai essayer de lancer ma commande en arrière plan mais aucun moyens de savoir si la commande passe ou bloque.
En gros, 'killer' ma commande si le script reste bloqué dessus pendant x secondes.
En fait faudrait que ma commande et 'sleep' se lance en même temps mais que si le script continue (c-a-d que ma commande n'est pas bloqué) ben on tienne pas compte du sleep.
( désolé pour la 'lourdeur' de ma formulation mais je n'arrive pas à expliquer clairement le problème )
j'ai essayer de lancer ma commande en arrière plan mais aucun moyens de savoir si la commande passe ou bloque.
poumiZ
Messages postés
102
Date d'inscription
mercredi 6 juin 2007
Statut
Membre
Dernière intervention
3 septembre 2010
10
14 juin 2007 à 12:27
14 juin 2007 à 12:27
Bonjour,
si ça peut t'aider, tu peux récupérer l'ID de ton dernier process lancé en AR plan par
si ça peut t'aider, tu peux récupérer l'ID de ton dernier process lancé en AR plan par
$!Tu peux ainsi obtenir tous les renseignements à son sujet.
Merci pour l'information :) mais je le savais :(.
En fait, j'ai trouvé une soluce bidon qui consiste a killé la commande qui foire à partir d'une autre console.
Ca m'oblige à rester devant mon écran pendant que ça tourne...
Faudrait trouver un moyen de le faire automatiquement.
En fait, j'ai trouvé une soluce bidon qui consiste a killé la commande qui foire à partir d'une autre console.
Ca m'oblige à rester devant mon écran pendant que ça tourne...
Faudrait trouver un moyen de le faire automatiquement.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
14 juin 2007 à 14:55
14 juin 2007 à 14:55
Tiens un exemple avec un "job" en arrière-plan et un "kill -9 $!" si ça dépasse le temps limite :
jp@MDK:~/tmpfs ssh$ cat bar.sh # le script en arrière-plan #! /bin/bash i=1 while [ "$i" -lt 6 ] do echo "Passage n° $i" sleep 1 i=$(($i+1)) done jp@MDK:~/tmpfs ssh$ cat foo.sh # le script #! /bin/bash ./bar.sh & sleep $1 ps -e | grep "$!" >/dev/null retval=$? if [ "$retval" == 0 ] then kill -9 $! echo "Processus en arrière-plan tué..." else echo "Pas de processus en arrière-plan..." fi echo "Le script se poursuit..." jp@MDK:~/tmpfs ssh$ ./foo.sh 8 # lancement avec un délai laissant le job se finir Passage n° 1 Passage n° 2 Passage n° 3 Passage n° 4 Passage n° 5 Pas de processus en arrière-plan... Le script se poursuit... jp@MDK:~/tmpfs ssh$ ./foo.sh 2 # lancement avec un délai ne laissant pas le job se finir Passage n° 1 Passage n° 2 Passage n° 3 Processus en arrière-plan tué... ./foo.sh: line 15: 5463 Processus arrêté ./bar.sh Le script se poursuit... jp@MDK:~/tmpfs ssh$;-))
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
15 juin 2007 à 10:17
15 juin 2007 à 10:17
Autre méthode:
commande_a_tuer_apres_2m &
PID=$!
echo "kill $PID > /dev/null 2>&1" | at now+2minutes
commande_a_tuer_apres_2m &
PID=$!
echo "kill $PID > /dev/null 2>&1" | at now+2minutes
Salut les gars merci pour vos réponses et désolé pour le retard de la mienne.
J'ai pas encore tester vos méthodes mais je me suis débrouillé autrement. Je n'ai pas changer mon script de base mais j'en ai créée un autre qui contrôle le PID de la fonction qui peut merder. Du coup lorsque celle-ci est lancer trop longtemps mon script de contrôle la 'kill'. Voilà ça marche très bien est cela permet de ne pas alourdir mon premier script déjà très long.
Merci encore.
Phil
J'ai pas encore tester vos méthodes mais je me suis débrouillé autrement. Je n'ai pas changer mon script de base mais j'en ai créée un autre qui contrôle le PID de la fonction qui peut merder. Du coup lorsque celle-ci est lancer trop longtemps mon script de contrôle la 'kill'. Voilà ça marche très bien est cela permet de ne pas alourdir mon premier script déjà très long.
Merci encore.
Phil