ใช้ fork สร้างกระบวนการลูกได้ง่ายที่สุด fork() อยู่ในไลบรารีมาตรฐาน os ของ Python
แก้ปัญหานี้ด้วย pipe() สำหรับส่งข้อมูลจากกระบวนการหนึ่งไปอีกอัน สำหรับสื่อสารสองทางต้องใช้สอง pipe หนึ่งต่อทิศทาง เพราะ pipe() เป็น single-directional
อัลกอริทึม
ขั้นตอนที่ 1: file descriptors r, w สำหรับอ่านและเขียน ขั้นตอนที่ 2: สร้างกระบวนการด้วย fork ขั้นตอนที่ 3: ถ้า process id เป็น 0 สร้าง child process ขั้นตอนที่ 4: ไม่อย่างนั้นสร้าง parent process
โค้ดตัวอย่าง
import os
def parentchild(cwrites):
r, w = os.pipe()
pid = os.fork()
if pid:
os.close(w)
r = os.fdopen(r)
print("Parent กำลังอ่าน")
str = r.read()
print("Parent อ่านได้ =", str)
else:
os.close(r)
w = os.fdopen(w, 'w')
print("Child กำลังเขียน")
w.write(cwrites)
print("Child เขียน = ", cwrites)
w.close()
# โค้ดหลัก
cwrites = "Python Program"
parentchild(cwrites)
ผลลัพธ์
Child กำลังเขียน Child เขียน = Python Program Parent กำลังอ่าน Parent อ่านได้ = Python Program