Package qm :: Module host :: Class Host :: Class Executable
[hide private]
[frames] | no frames]

Class Executable

source code

              object --+            
                       |            
   executable.Executable --+        
                           |        
executable.TimeoutExecutable --+    
                               |    
 executable.RedirectedExecutable --+
                                   |
                                  Host.Executable

An 'Executable' is a simple redirected executable.

The standard error and standard output streams are combined
into a single stream.

The standard input is not closed before
invoking the program because SSH hangs if its standard input
is closed before it is invoked.  For example, running:

   ssh machine echo hi <&-

will hang with some versions of SSH.

Instance Methods [hide private]
 
_StderrPipe(self)
Return a pipe to which to redirect the standard input.
source code

Inherited from executable.RedirectedExecutable (private): _ClosePipeEnd, _CreatePipe, _DoParent, _HandleChild, _InitializeChild, _InitializeParent, _ReadStderr, _ReadStdout, _StdinPipe, _StdoutPipe, _WriteStdin

Inherited from executable.TimeoutExecutable: Run, __init__

Inherited from executable.Executable: Kill, Spawn

Inherited from executable.Executable (private): _CreateCommandLine, _GetChildPID

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

_StderrPipe(self)

source code 

Return a pipe to which to redirect the standard input.

returns -- A pipe, or 'None'. If 'None' is returned, but '_StdoutPipe' returns a pipe, then the standard error and standard input will both be redirected to that pipe. However, if '_StdoutPipe' also returns 'None', then the standard error will be closed in the child.

Overrides: executable.RedirectedExecutable._StderrPipe
(inherited documentation)