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 BaseProcess (via _BaseProcess):

Method processEnded This is called when the child terminates.
Method _callProcessExited Undocumented

Inherited from BaseProcess (via _BaseProcess):

Method processEnded This is called when the child terminates.
Method _callProcessExited Undocumented

Inherited from BaseProcess (via _BaseProcess):

Method processEnded This is called when the child terminates.
Method _callProcessExited Undocumented

Inherited from BaseProcess (via _BaseProcess):

Method processEnded This is called when the child terminates.
Method _callProcessExited Undocumented

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 2015-09-04 15:29:41.