What is the process to run sub-process with pipes that connect both input and output?
Answer Posted / chaitanya
The popen2() module is used to run the sub-process but due to some difficulty in processing like creation of deadlock that keep a process blocked that wait for the output from the child and child is waiting for the input. The dead lock occurs due to the fact that parent and child doesn’t have the synchronization and both are waiting to get the processor to provide the resources to one another. Use of popen3() method allow the reading of stdout and stderr to take place where the internal buffer increases and there is no read() takes place to share the resources. popen2() take care of the deadlock by providing the methods like wait() and waitpid() that finishes a process first and when a request comes it hands over the responsibility to the process that is waiting for the resources. The program is used to show the process and run it.
import popen2
fromchild, tochild = popen2.popen2("command")
tochild.write("input
")
tochild.flush()
output = fromchild.readline()
| Is This Answer Correct ? | 2 Yes | 0 No |
Post New Answer View All Answers
What does quit () do in python?
which of the following is an invalid statement?
What is a CGI script in Python?
Is c++ required for learning python?
How to split a string into a list?
How to prevent blocking in content() method of socket?
What is lambda function in python?
How do I run a python file in python shell?
How is python an interpreted language?
What is pandas?
What a blank curly brace initialize? A dictionary or a set?
Write the command to get all keys from the dictionary.
How to create an empty class in python?
What are non static methods?
What are uses of lambda?