Tengo un programa en C que llama a fork()
Obtener el stdout/stderr de un proceso en forma de horquilla en un subproceso
Y tengo un script en Python que ejecuta el programa C con
child = subprocess.Popen(command, shell=True, stderr=subprocess.PIPE,stdout=subprocess.PIPE, bufsize=0)
Ahora puedo leer de salida estándar y stderr con child.stderr.read(1)
o child.communicate()
, ... Pero mi problema es ahora, ¿cómo puedo obtener solamente la salida del bifurcó proceso. ¿Esto es posible? ¿Puedo obtener el pid de ambos, el programa C original y el tenedor?
saludos cordiales, muchas gracias :)
Fabian
"¿Esto es posible?" No. "¿Puedo obtener el pid de ambos, el programa C original y el tenedor?" No. El programa C posee ese niño. Su proceso posee el programa C. Ahora. Deja de preocuparte por los detalles de Linux y describe tu problema ** real **. ¿Por qué su programa Python no puede ejecutar el mismo subproceso que el programa C? –
una forma más fácil podría ser el uso de un formato de salida diferente, el proceso principal podría comenzar con: "ParentOutput:", mientras que la salida del subproceso es: "ChildOutput:". Entonces puedes ignorar "ParentOutput" en tu programa python. – springrider