Python program to communicate between parent and child process using the pipe.

PythonProgrammingServer Side Programming

Using fork is the easiest way to create child process.fork () is part of the os standard Python library.

Here, we solve this task by using of pipe(). For passing information from one process to another pipe() is used. For two way communication two pipes can be use, one for each direction because pipe() is unidirectional.

Algorithm

Step 1: file descriptors r, w for reading and writing.
Step 2: Create a process using the fork.
Step 3: if process id is 0 then create a child process.
Step 4: else create parent process.

Example Code

import os 
def parentchild(cwrites): 
   r, w = os.pipe() 
   pid = os.fork() 
   if pid: 
      os.close(w) 
      r = os.fdopen(r) 
      print ("Parent is reading") 
      str = r.read() 
      print( "Parent reads =", str) 
   else: 
      os.close(r) 
      w = os.fdopen (w, 'w') 
      print ("Child is writing") 
      w.write(cwrites) 
      print("Child writes = ",cwrites) 
      w.close() 
# Driver code         
cwrites = "Python Program"
parentchild(cwrites) 

Output

Child is writing
Child writes = Python Program
Parent is reading
Parent reads = Python Program
raja
Published on 25-Sep-2018 11:46:36
Advertisements