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.
