Stopper processus avec des conditions


9 posts
by pseudomystere » Mon Dec 17, 2012 10:09 pm
Salut je viens juste de recevoir mon Raspi ! :)

Et je me demandais s'il serait envisageable de stopper un processus lorsqu'un autre est lancé ? Je voudrai par exemple en stopper certains (par ex pyLoad) lorsqu'XBMC se lance et reprendre ce processus lorsque je quitte XBMC. Afin d'alléger la mémoire utilisée.

Merci !
Posts: 9
Joined: Mon Dec 17, 2012 10:00 pm
by falimero » Tue Dec 18, 2012 7:43 am
Salut,

tu as la commande kill qui te permet de killer un process.
ou même la commande killall exemple :
Code: Select all
killall -9 pyLoad


une idée peu être de faire un cron qui lance un programme du language de ton choix, qui permet te vérifier si XBMC est lancé et si c'est le cas il kill les autres process sinon il ne fait rien.
Falimero - http://falimero.fr
User avatar
Posts: 17
Joined: Wed Dec 12, 2012 9:04 pm
Location: Mulhouse
by chris57100 » Tue Dec 18, 2012 8:24 am
Il vaut peut être mieux envoyer le signal 15 dans un premier temps que le 9, ca permet au processus de se terminer proprement plutôt qu'un arrêt violent qui pourrait du coup corrompre le(s) téléchargement(s) en cours
Raspberry Pi Home Server : http://www.pihomeserver.fr
Software tutorials : Samba, Airplay, CUPS, Time machine, MPD+Rompr, Nginx, Owncloud, rTorrent, Wordpress, Joomla, Subsonic, VNC, etc.
Electronic tutorials : Mobile Data Recorder, LCD screen, Weather station, etc.
Posts: 419
Joined: Wed Sep 12, 2012 7:23 pm
Location: Thionville
by falimero » Tue Dec 18, 2012 8:34 am
@chris57100 pas faux, mais avec le signal 15, on est sur que le process va se kill ?
Falimero - http://falimero.fr
User avatar
Posts: 17
Joined: Wed Dec 12, 2012 9:04 pm
Location: Mulhouse
by chris57100 » Tue Dec 18, 2012 9:28 am
Non. Doù le principe utilisé lorsqu'on arrête le système :
    Envoi de signaux 15 aux processus
    Attente de X secondes
    Envoi de signaux 9 à ceux qui font de la résistance
Il faut ajouter 3 lignes dans le script qui va lancer XBMC
Raspberry Pi Home Server : http://www.pihomeserver.fr
Software tutorials : Samba, Airplay, CUPS, Time machine, MPD+Rompr, Nginx, Owncloud, rTorrent, Wordpress, Joomla, Subsonic, VNC, etc.
Electronic tutorials : Mobile Data Recorder, LCD screen, Weather station, etc.
Posts: 419
Joined: Wed Sep 12, 2012 7:23 pm
Location: Thionville
by falimero » Tue Dec 18, 2012 10:47 am
je ne savais pas merci
Falimero - http://falimero.fr
User avatar
Posts: 17
Joined: Wed Dec 12, 2012 9:04 pm
Location: Mulhouse
by pseudomystere » Tue Dec 18, 2012 2:43 pm
Merci pour ces réponses ! :)

kill -15 pyLoad
sleep 30
kill -9 pyLoad

par contre j'utilise xbian du coup je crois que xbmc se lance direct non ? (j'ai pas encore eu le temps de tester tout).

En fait le mieux serait que je kill pyLoad lorsqu'il détecte que le CEC est activé (lorsque j'utilise xbmc). Il me semble qu'un membre d'ici avait eu l'idée ? :)
Posts: 9
Joined: Mon Dec 17, 2012 10:00 pm
by chris57100 » Tue Dec 18, 2012 7:25 pm
Ca sera killall si tu passes le nom du programme que tu dois arrêter ;)
Raspberry Pi Home Server : http://www.pihomeserver.fr
Software tutorials : Samba, Airplay, CUPS, Time machine, MPD+Rompr, Nginx, Owncloud, rTorrent, Wordpress, Joomla, Subsonic, VNC, etc.
Electronic tutorials : Mobile Data Recorder, LCD screen, Weather station, etc.
Posts: 419
Joined: Wed Sep 12, 2012 7:23 pm
Location: Thionville
by SladerZ » Thu Dec 20, 2012 12:32 pm
pourquoi ne pas utiliser une boucle for pour être sur que tout tes process soit bien coupé ?
User avatar
Posts: 68
Joined: Mon Jul 30, 2012 8:55 am
Location: France