twisted.internet.process.PTYProcess(abstract.FileDescriptor, _BaseProcess)
class documentationtwisted.internet.process
View Source
(View In Hierarchy)
Implements interfaces: twisted.internet.interfaces.IProcessTransport
An operating-system Process that uses PTY support.
Method | __init__ | Spawn an operating-system process. |
Method | closeStdin | Close stdin after all data has been written out. |
Method | closeStdout | Close stdout. |
Method | closeStderr | Close stderr. |
Method | doRead | Called when my standard output stream is ready for reading. |
Method | fileno | This returns the file number of standard output on this process. |
Method | maybeCallProcessEnded | Call processEnded on protocol after final cleanup. |
Method | connectionLost | I call this to clean up when one or all of my connections has died. |
Method | writeSomeData | Write some data to the open process. |
Method | _setupChild | Set up child process after fork() but before
exec() . |
Inherited from FileDescriptor:
Method | doWrite | Called when data can be written. |
Method | writeConnectionLost | Indicates write connection was lost. |
Method | readConnectionLost | Indicates read connection was lost. |
Method | write | Reliably write some data. |
Method | writeSequence | Reliably write a sequence of data. |
Method | loseConnection | Close the connection at the next available opportunity. |
Method | loseWriteConnection | Undocumented |
Method | stopReading | Stop waiting for read availability. |
Method | stopWriting | Stop waiting for write availability. |
Method | startReading | Start waiting for read availability. |
Method | startWriting | Start waiting for write availability. |
Method | stopConsuming | Stop consuming data. |
Method | resumeProducing | Resume producing data. |
Method | pauseProducing | Pause producing data. |
Method | stopProducing | Stop producing data. |
Method | _postLoseConnection | Called after a loseConnection(), when all data has been written. |
Method | _closeWriteConnection | Undocumented |
Method | _isSendBufferFull | Determine whether the user-space send buffer for this transport is full or not. |
Method | _maybePauseProducer | Possibly pause a producer, if there is one and the send buffer is full. |
Inherited from _ConsumerMixin (via FileDescriptor):
Instance Variable | producer | None
if no producer is registered, otherwise the registered producer. |
Instance Variable | producerPaused | A flag indicating whether the producer is currently paused. (type: bool ) |
Instance Variable | streamingProducer 0 | A flag indicating whether the producer was registered as a streaming (ie
push) producer or not (ie a pull producer). This will determine whether
the consumer may ever need to pause and resume it, or if it can merely call
resumeProducing on it when buffer space is available. |
Instance Variable | streamingProducer | bool or int |
Method | registerProducer | Register to receive data from a producer. |
Method | unregisterProducer | Stop consuming data from a producer, without disconnecting. |
Inherited from _LogOwner (via FileDescriptor):
Method | logPrefix | Override this method to insert custom logging behavior. Its return value will be inserted in front of every line. It may be called more times than the number of output lines. |
Method | _getLogPrefix | Determine the log prefix to use for messages related to
applicationObject , which may or may not be an interfaces.ILoggingContext
provider. |
Inherited from _BaseProcess:
Method | reapProcess | Try to reap a process (without blocking) via waitpid. |
Method | signalProcess | No summary |
Method | __repr__ | String representation of a process. |
Method | _getReason | Undocumented |
Method | _resetSignalDisposition | Undocumented |
Method | _fork | Fork and then exec sub-process. |
Method | _execChild | The exec() which is done in the forked child. |
Inherited from BaseProcess (via _BaseProcess):
Method | processEnded | This is called when the child terminates. |
Method | _callProcessExited | Undocumented |
Spawn an operating-system process.
This is where the hard work of disconnecting all currently open files / forking / executing the new process happens. (This is executed automatically when a Process is instantiated.)
This will also run the subprocess as a given user ID and group ID, if specified. (Implementation Note: this doesn't support all the arcane nuances of setXXuid on UNIX: it will assume that either your effective or real UID is 0.)
Set up child process after fork()
but before
exec()
.
This involves:
masterfd
, since it is not used in the subprocess
os.setsid
slavefd
slavefd
to standard input, output, and error
_listOpenFDs
)
SIG_DFL
Parameters | masterfd | The master end of a PTY file descriptors opened with openpty . (type: int ) |
slavefd | The slave end of a PTY opened with openpty . (type: int ) |
I call this to clean up when one or all of my connections has died.