|Run a process and wait for it to complete, with optional support for line-by-line output handling and timeouts. On timeout or output timeout, the callback should kill the process; many clients use mozcrash.kill_and_get_minidump() in the timeout callback. run_and_wait is not intended to be a generic replacement for subprocess. Clients requiring different options or behavior should use subprocess directly. :param args: command to run. May be a string or a list. :param cwd: working directory for command. :param env: environment to use for the process (defaults to os.environ). :param text: open streams in text mode if True; else use binary mode. :param timeout: seconds to wait for process to complete before calling timeout_handler :param timeout_handler: function to be called if timeout reached :param output_timeout: seconds to wait for process to generate output :param output_timeout_handler: function to be called if output_timeout is reached :param output_line_handler: function to be called for every line of process output
|A class for launching and manipulating local processes. :param cmd: command to run. May be a string or a list. If specified as a list, the first element will be interpreted as the command, and all additional elements will be interpreted as arguments to that command. :param args: list of arguments to pass to the command (defaults to None). Must not be set when `cmd` is specified as a list. :param cwd: working directory for command (defaults to None). :param env: is the environment to use for the process (defaults to os.environ). :param ignore_children: causes system to ignore child processes when True, defaults to False (which tracks child processes). :param kill_on_timeout: when True, the process will be killed when a timeout is reached. When False, the caller is responsible for killing the process. Failure to do so could cause a call to wait() to hang indefinitely. (Defaults to True.) :param processOutputLine: function or list of functions to be called for each line of output produced by the process (defaults to an empty list). :param processStderrLine: function or list of functions to be called for each line of error output - stderr - produced by the process (defaults to an empty list). If this is not specified, stderr lines will be sent to the *processOutputLine* callbacks. :param onTimeout: function or list of functions to be called when the process times out. :param onFinish: function or list of functions to be called when the process terminates normally without timing out. :param kwargs: additional keyword args to pass directly into Popen. NOTE: Child processes will be tracked by default. If for any reason we are unable to track child processes and ignore_children is set to False, then we will fall back to only tracking the root process. The fallback will be logged.
|errcheck function for Windows functions that return a BOOL True on success