Comment stopper une des commandes d'un script
Résolu
Bonjour à tous,
actuellement je cherche à développer un script utilisant la fonction "free" qui permet d'obtenir des informations sur la RAM.
Or, à ma connaissance, cette fonction possède une option pour itérer les observations toute les x secondes, mais rien pour l'arrêter?
Je ne peux pas faire Ctrj+C car sinon la fin du script ne s'effectue pas.
Est ce que quelqu'un aurait une idée?
Merci d'avance
actuellement je cherche à développer un script utilisant la fonction "free" qui permet d'obtenir des informations sur la RAM.
Or, à ma connaissance, cette fonction possède une option pour itérer les observations toute les x secondes, mais rien pour l'arrêter?
Je ne peux pas faire Ctrj+C car sinon la fin du script ne s'effectue pas.
Est ce que quelqu'un aurait une idée?
Merci d'avance
Configuration: Windows 2000 Firefox 2.0.0.2
5 réponses
-
ModérateurDe rien ;-))
Tiens une petite variante qui peut être plus sympa dû au fait qu'elle affiche le résultat de la commande "free" (au lieu de la cacher du fait de sa mise en arrière-plan) pendant x secondes (man watch pour plus de détails) :i=0 while [ "$i" -lt 12 ] do free > fich.tmp sleep 1 i=$(expr $i + 1) if [ "$i" -eq 11 ] then pkill watch fi done& watch -n 1 -d -t 'cat fich.tmp' && rm -f fich.tmp
;-))
-
Vraiment merci beaucoup,
ton aide m'a été très précieuse . -
ModérateurTu fais un :
sleep n
ou "n" est un entier (man sleep) tout simplement ;-))
-
merci pour ta réponse,
comment fais tu pour faire en sorte qu'il ne prenne le kill qu'au bout des x secondes? -
ModérateurSalut,
Lance ta commande en arrière-plan :free -s 3&
ton script se poursuivra alors. Pour stopper le processus en arrière-plan depuis ton script :kill -9 $!
;-))