proctor package
proctor package
process doctor (PROCTOR)… Utilities related to process / thread management.
- class Process(popen, *, timeout=15)[source]
Bases:
objectA wrapper around a subprocess.Popen(…) object.
Examples
>>> from subprocess import PIPE, Popen
>>> echo_factory = lambda x: Popen(["echo", x], stdout=PIPE)
>>> echo_popen = echo_factory("foo") >>> echo_proc = Process(echo_popen) >>> echo_proc.out 'foo'
>>> echo_popen = echo_factory("bar") >>> out, _err = Process(echo_popen) >>> out 'bar'
- Parameters
popen (Popen) –
timeout (float | None) –
- command_exists(cmd)[source]
Returns True iff the shell command
cmdexists.- Parameters
cmd (
str) –- Return type
bool
- safe_popen(cmd_parts, *, up=0, timeout=15, **kwargs)[source]
Wrapper for subprocess.Popen(…).
- Return type
Result[Process, ErisError]
- Returns
- Ok(Process) if the command is successful.
OR
Err(ErisError) otherwise.
- Parameters
cmd_parts (Iterable[str]) –
up (int) –
timeout (float | None) –
kwargs (Any) –
- unsafe_popen(cmd_parts, *, timeout=15, **kwargs)[source]
Wrapper for subprocess.Popen(…)
You can use unsafe_popen() instead of safe_popen() when you don’t care whether or not the command succeeds.
- Return type
- Returns
A Process(…) object.
- Parameters
cmd_parts (Iterable[str]) –
timeout (float | None) –
kwargs (Any) –