|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import os # crear dos pipes sin nombre, uno para enviar y otro para recibir pipe_in, pipe_out = os.pipe() # crear un proceso hijo pid = os.fork() if pid == 0: # Este es el proceso hijo # cerrar el pipe de entrada os.close(pipe_in) # enviar un mensaje al padre mensaje = "Hola, soy el hijo" os.write(pipe_out, mensaje.encode()) # cerrar el pipe de salida os.close(pipe_out) else: # Este es el proceso padre # cerrar el pipe de salida os.close(pipe_out) # leer el mensaje enviado por el hijo mensaje = os.read(pipe_in, 100) print("El padre recibio el mensaje:") print(mensaje.decode()) # cerrar el pipe de entrada os.close(pipe_in) |
Este código crea dos pipes sin nombre, uno para enviar y otro para recibir mensajes entre el padre y el hijo. Luego, crea un proceso hijo usando la función os.fork(). En el proceso hijo, se cierra el pipe de entrada, se envía un mensaje al padre usando la función os.write(), y se cierra el pipe de salida. En el proceso padre, se cierra el pipe de salida, se lee el mensaje enviado por el hijo usando la función os.read(), se imprime el mensaje y se cierra el pipe de entrada.


