Comment lancer un nouveau processus indépendant en Python
J'ai un code Python que de temps en temps besoin d'enjamber un nouveau processus pour exécuter un script shell dans un "fire and forget", autrement dit sans blocage. Le script shell de ne pas communiquer avec l'original du code Python et en fait probablement mettre fin à l'appel Python processus, de sorte que le lancement d'un script shell ne peut pas être un processus enfant de l'appel Python processus. J'ai besoin d'être lancé comme un processus indépendant.
En d'autres termes, disons que j'ai mycode.py et qui lance script.sh. Alors mycode.py volonté de poursuivre le traitement sans blocage. Le script script.sh va faire quelques choses de manière indépendante et sera alors en fait arrêter et redémarrer mycode.py. Ainsi, le processus qui s'exécute script.py doit être totalement indépendante de mycode.py. Exactement comment puis-je faire cela? Je pense que les sous-processus.Popen ne va pas bloquer, mais encore de créer un processus fils qui s'arrête dès que mycode.py s'arrête, ce qui n'est pas ce que je veux.
- Essayez de python-daemon
Vous devez vous connecter pour publier un commentaire.
Essayer ajoutant "nohup" à script.sh. Vous aurez probablement besoin de décider quoi faire avec stdout et stderr; je viens de le déposer dans l'exemple.
&
à la fin de commande pour que cela fonctionneSuffit d'utiliser un processus secondaire.Popen. Les ouvrages suivants, OK pour moi sur Windows XP /Windows 7 et Python 2.5.4, 2.6.6, et 2.7.4. Et après avoir été converti avec py2exe - pas essayé 3.3 - il s'agit de la nécessité de supprimer expiré le logiciel de test sur la machine cliente.