The method os.pipe() creates a pipe and returns a pair of file descriptors (r, w) usable for reading and writing, respectively.
Example
import os, sys
print "The child will write text to a pipe and "
print "the parent will read the text written by child..."
# file descriptors r, w for reading and writing
r, w = os.pipe()
processid = os.fork()
# This is the parent process
if processid:
os.close(w)
r = os.fdopen(r)
print "Parent reading"
str = r.read()
print "text =", str
sys.exit(0)
else:
# This is the child process
os.close(r)
w = os.fdopen(w, 'w')
print "Child writing"
w.write("Text written by child...")
w.close()
print "Child closing"
sys.exit(0)Output
You will get the output:
Parent reading Child writing Child closing text = Text written by child...