|  | 
 | :mod:`pty` --- Pseudo-terminal utilities | 
 | ======================================== | 
 |  | 
 | .. module:: pty | 
 |    :platform: Linux | 
 |    :synopsis: Pseudo-Terminal Handling for Linux. | 
 | .. moduleauthor:: Steen Lumholt | 
 | .. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il> | 
 |  | 
 |  | 
 | The :mod:`pty` module defines operations for handling the pseudo-terminal | 
 | concept: starting another process and being able to write to and read from its | 
 | controlling terminal programmatically. | 
 |  | 
 | Because pseudo-terminal handling is highly platform dependent, there is code to | 
 | do it only for Linux. (The Linux code is supposed to work on other platforms, | 
 | but hasn't been tested yet.) | 
 |  | 
 | The :mod:`pty` module defines the following functions: | 
 |  | 
 |  | 
 | .. function:: fork() | 
 |  | 
 |    Fork. Connect the child's controlling terminal to a pseudo-terminal. Return | 
 |    value is ``(pid, fd)``. Note that the child  gets *pid* 0, and the *fd* is | 
 |    *invalid*. The parent's return value is the *pid* of the child, and *fd* is a | 
 |    file descriptor connected to the child's controlling terminal (and also to the | 
 |    child's standard input and output). | 
 |  | 
 |  | 
 | .. function:: openpty() | 
 |  | 
 |    Open a new pseudo-terminal pair, using :func:`os.openpty` if possible, or | 
 |    emulation code for generic Unix systems. Return a pair of file descriptors | 
 |    ``(master, slave)``, for the master and the slave end, respectively. | 
 |  | 
 |  | 
 | .. function:: spawn(argv[, master_read[, stdin_read]]) | 
 |  | 
 |    Spawn a process, and connect its controlling terminal with the current | 
 |    process's standard io. This is often used to baffle programs which insist on | 
 |    reading from the controlling terminal. | 
 |  | 
 |    The functions *master_read* and *stdin_read* should be functions which read from | 
 |    a file descriptor. The defaults try to read 1024 bytes each time they are | 
 |    called. | 
 |  |