Je veux pouvoir démarrer un processus, puis être capable de le tuer ensuite p>
6 Réponses :
Jetez un coup d'œil au sous-processus code>
module.
Vous pouvez également utiliser des primitives de bas niveau telles que Fork () code> via le module code> OS code>. P>
Une fonction simple qui utilise le module de sous-processus:
Voir Documents pour la fourche primitive () et les modules Subprocess , multiprofessionnel , Multhreading P>
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). P>
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
Vous pouvez utiliser os.kill (..) code> pour tuer le processus
ou même proc.Terminate () code> ou
proc.Kill () code> depuis Python 2.6