8
votes

Existe-t-il un moyen de démarrer / arrêter les processus Linux avec Python?

Je veux pouvoir démarrer un processus, puis être capable de le tuer ensuite


0 commentaires

6 Réponses :


8
votes

Jetez un coup d'œil au sous-processus module. Vous pouvez également utiliser des primitives de bas niveau telles que Fork () via le module OS .


0 commentaires


3
votes

Une fonction simple qui utilise le module de sous-processus: xxx


0 commentaires

0
votes

Voir Documents pour la fourche primitive () et les modules Subprocess , multiprofessionnel , Multhreading


0 commentaires

0
votes

Si vous devez interagir avec le sous-processus, je recommande le module PEXPPECT ( texte ). Vous pouvez envoyer une entrée au processus, recevoir (ou «attendre») de sortie en retour et vous pouvez fermer le processus (avec force = true pour envoyer SIGKILL).


0 commentaires

15
votes

Voici un petit script Python qui commence un processus, vérifie si elle est en cours d'exécution, attend un certain temps, le tue, attend que cela se termine, puis vérifie à nouveau. Il utilise la commande 'Kill'. La version 2.6 de Python Subbrocess a une fonction de tuerie. Ceci a été écrit sur 2,5.

$ time python prockill.py 
poll = None ("None" means process not terminated yet)
poll = -9

real    0m3.082s
user    0m0.055s
sys 0m0.029s


2 commentaires

Vous pouvez utiliser os.kill (..) pour tuer le processus


ou même proc.Terminate () ou proc.Kill () depuis Python 2.6