An operating-system Process.
This represents an operating-system process with standard input,
standard output, and standard error streams connected to it.
On UNIX, this is implemented using fork(), exec(), pipe()
and fcntl(). These calls may not exist elsewhere so this
code is not cross-platform. (also, windows can only select
on sockets...)
Methods
|
|
|
|
__init__
|
__init__ (
self,
command,
args,
environment,
path,
proto,
uid=None,
gid=None,
)
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.)
|
|
closeStdin
|
closeStdin ( self )
Call this to close standard input on this process.
|
|
connectionLost
|
connectionLost ( self )
I call this to clean up when one or all of my connections has died.
|
|
doError
|
doError ( self )
Called when my standard error stream is ready for reading.
|
|
doRead
|
doRead ( self )
Called when my standard output stream is ready for reading.
|
|
doWrite
|
doWrite ( self )
Called when my standard output stream is ready for writing.
This will only happen in the case where the pipe to write to is
broken.
|
|
errConnectionLost
|
errConnectionLost ( self )
|
|
fileno
|
fileno ( self )
This returns the file number of standard output on this process.
|
|
inConnectionLost
|
inConnectionLost ( self )
|
|
maybeCallProcessEnded
|
maybeCallProcessEnded ( self )
|
|
write
|
write ( self, data )
Call this to write to standard input on this process.
|
|