Je veux être en mesure de démarrer et d'arrêter un processus NGREP depuis mon code python. Je n'ai vraiment aucune expérience avec Python au niveau du système.Python et NGREP
Normalement, je lance NGREP à partir de la ligne de commande, mais je voudrais pouvoir l'exécuter à partir d'un script toutes les heures et capturer la trace, puis traiter les résultats.
Quelqu'un peut-il me diriger dans la direction de la façon d'y parvenir. En passant, j'ai juste besoin de pouvoir faire une capture de paquets, peut-être que Python a des capacités intégrées pour cela, peut-être tcpdump?
Merci.
Je ne sais pas pourquoi un threading.Timer serait utile dans ce cas. – nosklo
Parce qu'il veut l'exécuter toutes les heures ... Donc, créez un threading.Timer (3600, runNgrep, args, kwargs) 'pour lancer le programme et créer un autre' threading.Timer' quand le programme se termine ... Où 'runNgrep' est une fonction qui prend' args' et 'kwargs' comme arguments, évidemment. –
Ce sont de bonnes suggestions. Une idée de comment tuer le processus si? Je vois les docs. il semble que les méthodes send_signal(), terminate() et exit() ne sont disponibles qu'en python 2.6. J'utilise python 2.5. Suite à votre suggestion, j'utilise subprocess.Popen puis récupère l'identifiant du processus puis exécute subprocess.Popen avec un kill pid pour éditer le processus. Pas si élégant, peut-être il y a une meilleure façon de mettre fin au processus? – Dave