[Shell] Stopper processus > Script

Fermé
kaze - Modifié par jipicy le 12/05/2010 à 13:10
 kaze - 12 mai 2010 à 16:59
Bonjour, je cherche depuis des jours mais je n'arrive pas à trouver de réponses à mon probleme ...
En fait, je voudrais savoir comment arreter un processus associer à une zenity progressbar en shell ...
Par exemple :

wget www.supersite.com/chemin/fichier/.extension | zenity --progress .... . . . . . .

j'ai bien essayer " killall wget " mais si un autre programme ou une autre instance de wget est en execution elle s'arrete aussi, ainsi mon script actuelle donne :


#!/bin/bash
#

fermer_progress () {

if [ "$?" != 0 ] ; then
exit 0;
fi

}

dlfile='zenity --entry --title="shelldl" --text="URL ?"'
wget $dlfile | zenity --progress --title="Shelldl" --text="En train de dl le fichier ..." --width="250" --auto-close
fermer_progress

exit 0;
A voir également:

2 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 894
12 mai 2010 à 10:55
Salut,

Il suffit de lancer le processus en arrière-plan (&) et de tuer le PID associé à ce job.
Normalement le fait d'exécuter un processus en arrière-plan, celui-ci te renvoie un numéro de PID associé ainsi qu'un numéro de "jobs" associé, donc où tu kill le PID ou tu kill le numéro de jobs (pratique si plusieurs jobs).

La commande "echo $!" te renvoie le PID du dernier processus lancé en arrière-plan.

(wget www.supersite.com/chemin/fichier/.extension | zenity --progress .... . . . . . . )&
kill -9 %1
0
ça a l'air de marcher !
pardon pour ma reponse tardive et merci, j'aurais pas trouver seul ;)
A bientôt !
0