Proceso hijo
1 2 3 4 5 6 |
def main(): message = "¡Hola desde el proceso hijo!" print(message) if __name__ == "__main__": main() |
Proceso padre
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import subprocess def main(): # Crear el proceso hijo process_builder = ["python3", "child.py"] child_process = subprocess.Popen(process_builder, stdout=subprocess.PIPE) # Leer la salida del proceso hijo output_message, _ = child_process.communicate() print(f"Mensaje recibido del proceso hijo: {output_message.decode().strip()}") # Finalizar el proceso hijo child_process.wait() print(f"Proceso hijo finalizado con código de salida: {child_process.returncode}") if __name__ == "__main__": main() |
Explicación del código
- parent_process.py:
- Utiliza
subprocess.Popen
para iniciar el proceso hijo.stdout=subprocess.PIPE
redirige la salida estándar del hijo al padre. child_process.communicate()
lee la salida del proceso hijo.child_process.wait()
espera a que el proceso hijo termine ychild_process.returncode
obtiene el código de salida.
- Utiliza
- child_process.py:
- Simplemente imprime un mensaje a la salida estándar.
