Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/11/2011, à 21:03

UUBBUU_USER

Script_Python_ON_OFF_RESTART

Salut Tous le monde !!
Je vous présente un petit script sans prétention, basé à la base sur le script sh "conkywonky" de la distrib. "Crunchbang", que j'avais modifié pour fonctionner avec n'importe qu'elle app. sous X.
Voilà donc une version similaire en python.

#!/usr/bin/python
# -*- coding: utf-8 -*-

import subprocess, sys, re, os
from signal import SIGKILL
from os import kill, system
from string import join

debugBool = False

def debug(msg):
    if debugBool:
        print('%s' % msg)
        
def start(cmd):
    system('%s &' % cmd)
    debug('lancement: %s' % cmd)
    
def stop(softPid):
    kill( int(softPid), SIGKILL)
    debug('arrêt: %s' % softPid)

soft = sys.argv[2]
debug('nom du soft: %s' % soft)
softCmd = ' '.join(sys.argv[2:])
debug('commande: %s' % softCmd)
pidList = [subprocess.Popen(['pidof', '%s' % soft], stdout=subprocess.PIPE).communicate()[0]]
debug('liste process: %s' % pidList)
if pidList:
    for pid in pidList:
        pidList = re.compile('[\s]+').split(pid)
        debug('liste process nu: %s' % pidList)

arg = sys.argv[1]
debug('argument de lancement: %s' % arg)
if arg == '-o':

    if pidList == ['']:
        start(softCmd)
    else:
        for pid in pidList:
            if pid:
                stop(pid)  
    
if arg == '-r':
    for pid in pidList:
        if pid:
            stop(pid)
    start(softCmd)

Syntaxe pour lancer le script ( dans le menu d'openbox par exemple ), pour relancer, arrêter, ou lancer un programme tel que conky, ou autre:

<path + nom du script> [ -o | -r ]  + commande

Tout avis, critique, ou correction sont les bienvenus smile


PEACE LOVE UNITY                                                      FREE TIBET

Hors ligne