Invoking an external process from another process is called subprocessing. In this case, the communication between the processes happens with the help of OS pipes. In other words, if a process A is invoked as a subprocess by a process B, then the process B can pass an input to it and also read the output from it via OS pipes. This module is crucial when it comes to automating penetration testing and invoking other tools and utilities with Python. Python provides a very powerful module called subprocess to handle subprocessing. Take a look at the following code snippet Subprocessing.py, which shows how to invoke a system command called ls using subprocessing:
In the preceding code snippet, we used the subprocess.Popen() method to call the subprocess. There are few other ways to call or invoke the subprocess, such as call(), but the one we are discussing here is Popen...