Démarrer et arrêter automatiquement un programme

Le
Franssoa
Bonjour,

Je voudrais savoir comment démarrer un programme et l'arrêter
automatiquement à une heure donnée.

Le but étant de faire tourner bittorrent aux heures ou je n'utilise pas
mon réseau, soit pour être très large de minuit à 9h00.

Est-ce une bonne idée de le lancer avec un cron à minuit, puis à 9h00
lancer un kill en récupérant l'id d'une façon ou d'une autre ?
--
Franssoa
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
lhabert
Le #1877647
Franssoa :

Est-ce une bonne idée de le lancer avec un cron à minuit, puis à 9h00
lancer un kill en récupérant l'id d'une façon ou d'une autre ?


Pourquoi pas. Sauf que si le truc est mort entre temps, et qu'un autre
process créé après sa mort a reçu ce pid, tu killes le mauvais. Tu peux
utiliser un truc comme supervise (http://cr.yp.to/daemontools/supervise.html)
pour faire ça plus fiablement.

Franssoa
Le #1877645
Franssoa :

Est-ce une bonne idée de le lancer avec un cron à minuit, puis à 9h00
lancer un kill en récupérant l'id d'une façon ou d'une autre ?


Pourquoi pas. Sauf que si le truc est mort entre temps, et qu'un autre
process créé après sa mort a reçu ce pid, tu killes le mauvais. Tu peux
utiliser un truc comme supervise (http://cr.yp.to/daemontools/supervise.html)
pour faire ça plus fiablement.

En fait je pensais ne récupérer le pid qu'au moment du kill, en

analysant la sortie du grep.

#! /usr/bin/env python
import os, signal
pid = None
for res in os.popen("grep -ax"):
if "btdownload" in res:
pid = int(res.list()[0])
if pid:
os.kill(pid, signal.SIGINT)

Évidemment, cela suppose qu'il n'y ai qu'une instance du programme à
killer. Une autre impossibilité est de garder le pid au lancement du
programme, puis par la même méthode vérifier que le pid est toujours
attribué à ce programme.
--
Franssoa


Franssoa
Le #1877608
Franssoa :

Est-ce une bonne idée de le lancer avec un cron à minuit, puis à 9h00
lancer un kill en récupérant l'id d'une façon ou d'une autre ?


Pourquoi pas. Sauf que si le truc est mort entre temps, et qu'un autre
process créé après sa mort a reçu ce pid, tu killes le mauvais. Tu peux
utiliser un truc comme supervise
(http://cr.yp.to/daemontools/supervise.html)
pour faire ça plus fiablement.

En fait je pensais ne récupérer le pid qu'au moment du kill, en

analysant la sortie du grep.

#! /usr/bin/env python
import os, signal
pid = None
for res in os.popen("grep -ax"):
if "btdownload" in res:
pid = int(res.list()[0])
# arghhh !!

pid = int(res.split()[0])

if pid:
os.kill(pid, signal.SIGINT)

Évidemment, cela suppose qu'il n'y ai qu'une instance du programme à
killer. Une autre impossibilité est de garder le pid au lancement du
programme, puis par la même méthode vérifier que le pid est toujours
attribué à ce programme.



--
Franssoa



Sébastien Monbrun aka TiChou
Le #1877606
Dans le message *Franssoa* tapota sur f.c.o.l.configuration :

[...]

Je ne vois pas trop l'intérêt de tout ça. Ça ne serait pas plus simple
d'utiliser les commanndes 'killall' ou 'pkill' ?

0 0 * * * killall -q -u "$USER" -0 btdownload || btdownload
0 9 * * * killall -q -u "$USER" -TERM btdownload ; sleep 5 ; killall -q -u
"$USER" -KILL btdownload

--
Sébastien Monbrun aka TiChou
Franssoa
Le #1877604

Je ne vois pas trop l'intérêt de tout ça.
Uniquement que je ne connais(sait) pas d'autre solution(s).


Ça ne serait pas plus simple
d'utiliser les commanndes 'killall' ou 'pkill' ?
[...]
Si sûrement. Je vais donc regarder les pages man de killall et pkill

pour comprendre ton entrée cron.

Merci du coup de main
--
Franssoa

Fabien LE LEZ
Le #1877548
On Wed, 14 Mar 2007 12:51:30 +0100, Franssoa
Le but étant de faire tourner bittorrent aux heures ou je n'utilise pas
mon réseau,


T'as pas moyen de mettre un petit peu de QoS, pour que bittorrent ne
gêne pas les autres applications ?

Franssoa
Le #1877545
On Wed, 14 Mar 2007 12:51:30 +0100, Franssoa
Le but étant de faire tourner bittorrent aux heures ou je n'utilise pas
mon réseau,


T'as pas moyen de mettre un petit peu de QoS, pour que bittorrent ne
gêne pas les autres applications ?


si, je pourrais limiter la bande passante. Mais je préfère disposer la
journée de toute la bande possible pour autre chose que bt, et la nuit
je dors (pas assez, bien sur).
--
Franssoa


Fabien LE LEZ
Le #1877544
On Wed, 14 Mar 2007 17:55:08 +0100, Franssoa
T'as pas moyen de mettre un petit peu de QoS, pour que bittorrent ne
gêne pas les autres applications ?


si, je pourrais limiter la bande passante.


Quel rapport ?
Je te parle de baisser la priorité de bittorrent.
http://en.wikipedia.org/wiki/Quality_of_service


Franssoa
Le #1877543
On Wed, 14 Mar 2007 17:55:08 +0100, Franssoa
T'as pas moyen de mettre un petit peu de QoS, pour que bittorrent ne
gêne pas les autres applications ?
si, je pourrais limiter la bande passante.



Quel rapport ?
Je te parle de baisser la priorité de bittorrent.
http://en.wikipedia.org/wiki/Quality_of_service

oops, désolé, je n'avais pas compris :-(

Bon, ben je vais aller faire un petit tour sur google pour voir comment
on fait ça, si c'est applicable sur mon reseau et si ça peu me convenir.
--
Franssoa



Mihamina (R12y) Rakotomandimby
Le #1879451
Franssoa wrote:

Bon, ben je vais aller faire un petit tour sur google pour voir comment


Une piste que je n'ai toujours pas testé mais que je sais qui existe depuis
belle lurette. J eme demande meme si c'est encore maintenu:
http://lartc.org/

Publicité
Poster une réponse
Anonyme