gevent.subprocess – Cooperative subprocess module¶Note
The interface of this module is intended to match that of
the standard library subprocess module. There are some small
differences between the Python 2 and Python 3 versions of that
module and between the POSIX and Windows versions. The HTML
documentation here can only describe one version; for definitive
documentation, see the standard library or the source code.
Popen(args, bufsize=None, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=None, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0, threadpool=None, **kwargs)¶Bases: object
Create new Popen instance.
communicate(input=None, timeout=None)¶Interact with process: Send data to stdin. Read data from stdout and stderr, until end-of-file is reached. Wait for process to terminate. The optional input argument should be a string to be sent to the child process, or None, if no data should be sent to the child.
communicate() returns a tuple (stdout, stderr).
| Parameters: | timeout – Under Python 2, this is a gevent extension; if
given and it expires, we will raise gevent.timeout.Timeout.
Under Python 3, this raises the standard TimeoutExpired exception. |
|---|
poll()¶rawlink(callback)¶pipe_cloexec()¶Create a pipe with FDs set CLOEXEC.
wait(timeout=None)¶Wait for child process to terminate. Returns returncode attribute.
| Parameters: | timeout – The floating point number of seconds to wait.
Under Python 2, this is a gevent extension, and we simply return if it
expires. Under Python 3,
if this time elapses without finishing the process, TimeoutExpired
is raised. |
|---|
send_signal(sig)¶Send a signal to the process
terminate()¶Terminate the process with SIGTERM
kill()¶Kill the process with SIGKILL
call(*popenargs, **kwargs)¶Run command with arguments. Wait for command to complete, then return the returncode attribute.
The arguments are the same as for the Popen constructor. Example:
retcode = call(["ls", "-l"])
check_call(*popenargs, **kwargs)¶Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.
The arguments are the same as for the Popen constructor. Example:
retcode = check_call(["ls", "-l"])
check_output(*popenargs, **kwargs)¶Run command with arguments and return its output as a byte string.
If the exit code was non-zero it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute and output in the output attribute.
The arguments are the same as for the Popen constructor. Example:
>>> print(check_output(["ls", "-1", "/dev/null"]).decode('ascii'))
/dev/null
The stdout argument is not allowed as it is used internally. To capture standard error in the result, use stderr=STDOUT.
>>> print(check_output(["/bin/sh", "-c", "echo hello world"], stderr=STDOUT).decode('ascii'))
hello world
CalledProcessError(returncode, cmd, output=None)¶Bases: exceptions.Exception
This exception is raised when a process run by check_call() or check_output() returns a non-zero exit status. The exit status will be stored in the returncode attribute; check_output() will also store the output in the output attribute.
Next page: gevent.threadpool - A pool of native threads