
Interprocess Communication and Networking
*****************************************

The modules described in this chapter provide mechanisms for different
processes to communicate.

Some modules only work for two processes that are on the same machine,
e.g. ``signal`` and ``subprocess``.  Other modules support networking
protocols that two or more processes can used to communicate across
machines.

The list of modules described in this chapter is:

* ``subprocess`` --- Subprocess management
  * Using the subprocess Module
    * Convenience Functions
    * Exceptions
    * Security
  * Popen Objects
  * Replacing Older Functions with the subprocess Module
    * Replacing /bin/sh shell backquote
    * Replacing shell pipeline
    * Replacing ``os.system()``
    * Replacing the ``os.spawn`` family
    * Replacing ``os.popen()``, ``os.popen2()``, ``os.popen3()``
    * Replacing functions from the ``popen2`` module
* ``socket`` --- Low-level networking interface
  * Socket Objects
  * Example
* ``ssl`` --- SSL wrapper for socket objects
  * Functions, Constants, and Exceptions
  * SSLSocket Objects
  * Certificates
  * Examples
    * Testing for SSL support
    * Client-side operation
    * Server-side operation
* ``signal`` --- Set handlers for asynchronous events
  * Example
* ``popen2`` --- Subprocesses with accessible I/O streams
  * Popen3 and Popen4 Objects
  * Flow Control Issues
* ``asyncore`` --- Asynchronous socket handler
  * asyncore Example basic HTTP client
* ``asynchat`` --- Asynchronous socket command/response handler
  * asynchat - Auxiliary Classes and Functions
  * asynchat Example