Archive for 19/11/07
Python: ejecutar un subproceso desde un script
En un script de python necesitamos, ante unas condiciones, lanzar un programa externo (puede estar escrito en python o no, es irrelevante). Queremos monitorizarlo y para ello nos gustaría saber su PID.
Lo habitual es hacer un import os y empezar a jugar con los spawn*, los waitpid, los exec*, los popen* e incluso algún fork(). El resultado suele ser procesos zombie (Z) que no se inician bien y se quedan en defunct. Con bastante tiempo, podríamos tener algún éxito pero lo recomendable eshacer uso del módulo subprocess y, en concreto, de Popen().
Así que para lanzar un proceso independiente y recoger su PID escribid:
PID = subprocess.Popen([cmdline], shell=True).pid
1 comment Noviembre 19, 2007