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
def __init__(self, reactor, executable, args, environment, path, proto, uid=None, gid=None, usePTY=None): (source)

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.)

def _setupChild(self, masterfd, slavefd): (source)

Set up child process after fork() but before exec().

This involves:

  • closing masterfd, since it is not used in the subprocess
  • creating a new session with os.setsid
  • changing the controlling terminal of the process (and the new session) to point at slavefd
  • duplicating slavefd to standard input, output, and error
  • closing all other open file descriptors (according to _listOpenFDs)
  • re-setting all signal handlers to SIG_DFL
ParametersmasterfdThe master end of a PTY file descriptors opened with openpty. (type: int)
slavefdThe slave end of a PTY opened with openpty. (type: int)
def closeStdin(self): (source)

Close stdin after all data has been written out.

def closeStdout(self): (source)
def closeStderr(self): (source)
def doRead(self): (source)

Called when my standard output stream is ready for reading.

def fileno(self): (source)

This returns the file number of standard output on this process.

def maybeCallProcessEnded(self): (source)

Call processEnded on protocol after final cleanup.

def connectionLost(self, reason): (source)

I call this to clean up when one or all of my connections has died.

def writeSomeData(self, data): (source)

Write some data to the open process.

API Documentation for Twisted, generated by pydoctor at 2017-09-23 19:45:03.