cpython/Doc/library/pty.rst

49 lines
1.7 KiB
ReStructuredText
Raw Normal View History

2007-08-15 11:28:01 -03:00
:mod:`pty` --- Pseudo-terminal utilities
========================================
.. module:: pty
2009-10-11 22:26:07 -03:00
:platform: Linux
:synopsis: Pseudo-Terminal Handling for Linux.
2007-08-15 11:28:01 -03:00
.. 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
2009-10-11 22:26:07 -03:00
do it only for Linux. (The Linux code is supposed to work on other platforms,
but hasn't been tested yet.)
2007-08-15 11:28:01 -03:00
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
2009-10-11 22:26:07 -03:00
emulation code for generic Unix systems. Return a pair of file descriptors
``(master, slave)``, for the master and the slave end, respectively.
2007-08-15 11:28:01 -03:00
.. 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
2007-08-15 11:28:01 -03:00
called.