Skip to main content

Assorted process management functions.

Project description

Assorted process management functions.

Function groupargv(pre_argv, argv, post_argv=(), max_argv=None, encode=False)

Distribute the array argv over multiple arrays to fit within MAX_ARGV. Return a list of argv lists.

Parameters:

  • pre_argv: the sequence of leading arguments
  • argv: the sequence of arguments to distribute; this may not be empty
  • post_argv: optional, the sequence of trailing arguments
  • max_argv: optional, the maximum length of each distributed argument list, default: MAX_ARGV
  • encode: default False. If true, encode the argv sequences into bytes for accurate tallying. If encode is a Boolean, encode the elements with their .encode() method. If encode is a str, encode the elements with their .encode() method with encode as the encoding name; otherwise presume that encode is a callable for encoding each element.

The returned argv arrays will contain the encoded element values.

Function PidFileManager(path, pid=None)

Context manager for a pid file.

Parameters:

  • path: the path to the process id file.
  • pid: the process id to store in the pid file, default from os.etpid.

Writes the process id file at the start and removes the process id file at the end.

Function pipefrom(argv, trace=False, binary=False, keep_stdin=False, **kw)

Pipe text from a command. Optionally trace invocation. Return the Popen object with .stdout decoded as text.

Parameters:

  • argv: the command argument list
  • binary: if true (default false) return the raw stdout instead of a text wrapper
  • trace: if true (default False), if trace is True, recite invocation to stderr otherwise presume that trace is a stream to which to recite the invocation.
  • keep_stdin: if true (default False) do not attach the command's standard input to the null device. The default behaviour is to do so, preventing commands from accidentally consuming the main process' input stream.

Other keyword arguments are passed to the io.TextIOWrapper which wraps the command's output.

Function pipeto(argv, trace=False, **kw)

Pipe text to a command. Optionally trace invocation. Return the Popen object with .stdin encoded as text.

Parameters:

  • argv: the command argument list
  • trace: if true (default False), if trace is True, recite invocation to stderr otherwise presume that trace is a stream to which to recite the invocation.

Other keyword arguments are passed to the io.TextIOWrapper which wraps the command's input.

Function remove_pidfile(path)

Truncate and remove a pidfile, permissions permitting.

Function run(argv, logger=None, pids=None, **kw)

Run a command. Optionally trace invocation. Return result of subprocess.call.

Parameters:

  • argv: the command argument list
  • pids: if supplied and not None, call .add and .remove with the subprocess pid around the execution

Other keyword arguments are passed to subprocess.call.

Function stop(pid, signum=<Signals.SIGTERM: 15>, wait=None, do_SIGKILL=False)

Stop the process specified by pid, optionally await its demise.

Parameters:

  • pid: process id. If pid is a string, treat as a process id file and read the process id from it.
  • signum: the signal to send, default signal.SIGTERM.
  • wait: whether to wait for the process, default None. If None, return True (signal delivered). If 0, wait indefinitely until the process exits as tested by os.kill(pid, 0). If greater than 0, wait up to wait seconds for the process to die; if it exits, return True, otherwise False;
  • do_SIGKILL: if true (default False), send the process signal.SIGKILL as a final measure before return.

Function write_pidfile(path, pid=None)

Write a process id to a pid file.

Parameters:

  • path: the path to the pid file.
  • pid: the process id to write, defautl from os.getpid.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cs.psutils-20190101.tar.gz (5.1 kB view details)

Uploaded Source

File details

Details for the file cs.psutils-20190101.tar.gz.

File metadata

  • Download URL: cs.psutils-20190101.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.0 CPython/3.6.6

File hashes

Hashes for cs.psutils-20190101.tar.gz
Algorithm Hash digest
SHA256 a72a8b72dedaebf86ddcdca80785c54e7ccbc82a45be256e587021c5cd6a88d7
MD5 c5a40acc1e594d99893f63d62776fdb5
BLAKE2b-256 90ff12ec450eba15801606be549e3c69f8438e59eae69199e44a787c52e7323a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page