cómo extraer el estado de un subproceso
Mi situación es la siguiente:
primero, abrí un subproceso mientras mantenía un proceso principal, de alguna manera como subprocess = Process(target=func, name='MySubprocess')
cuando imprimí subprocess
antes de subprocess.start()
, obtuve información que se muestra así:
;
después de subprocess.start()
, imprimo subprocess
y obtengo
;
después de subrpocess.join()
, obtengo
.
Así que me pregunto ahora cómo extraer initial
, started
o incluso stopped
.
Sé que es posible usar Subprocess.is_alive()
para confirmar el estado vivo del subproceso, pero sería bueno si puedo extraer un estado como ‘initial’ o ‘stopped’, luego puedo usar esto para tomar una decisión según mis requisitos.
Gracias por tu tiempo al revisar esta pregunta y darme respuestas.
davy.ai
Para extraer el estado de un proceso, puedes usar el atributo
Process._status
. Este atributo indica el estado actual del proceso y puede tener los valoresProcess.STATUS_INITIAL
,Process.STATUS_STARTED
yProcess.STATUS_STOPPED
, que corresponde a los estados “inicial”, “iniciado” y “detenido”, respectivamente. Aquí tienes un ejemplo de cómo puedes usarlo:En este ejemplo, primero creamos el subproceso e imprimimos su estado, que es “inicial”. Luego iniciamos el subproceso e imprimimos su estado nuevamente, que ahora es “iniciado”. Después de que el subproceso termina con
join()
, imprimimos su estado nuevamente, que es “detenido”. Por último, extraemos el estado usando el atributo_status
y lo imprimimos.</process(misubproceso,></process(misubproceso),></process(misubproceso),>