summaryrefslogtreecommitdiff
path: root/exec_utils.py
diff options
context:
space:
mode:
authorScott <[email protected]>2022-01-26 21:34:26 -0800
committerScott <[email protected]>2022-01-26 21:34:26 -0800
commit36fea7f15ed17150691b5b3ead75450e575229ef (patch)
tree883ec076d7abe7683231244d27ca2c603ffcf031 /exec_utils.py
parenta0c6b6c28214e0f5167bc25690ada5d83d933086 (diff)
Ran black code formatter on everything.
Diffstat (limited to 'exec_utils.py')
-rw-r--r--exec_utils.py22
1 files changed, 15 insertions, 7 deletions
diff --git a/exec_utils.py b/exec_utils.py
index c1dbdcb..0163107 100644
--- a/exec_utils.py
+++ b/exec_utils.py
@@ -12,7 +12,9 @@ from typing import List, Optional
logger = logging.getLogger(__file__)
-def cmd_showing_output(command: str, ) -> int:
+def cmd_showing_output(
+ command: str,
+) -> int:
"""Kick off a child process. Capture and print all output that it
produces on stdout and stderr. Wait for the subprocess to exit
and return the exit value as the return code of this function.
@@ -119,25 +121,30 @@ def run_silently(command: str, timeout_seconds: Optional[float] = None) -> None:
def cmd_in_background(
- command: str, *, silent: bool = False
+ command: str, *, silent: bool = False
) -> subprocess.Popen:
args = shlex.split(command)
if silent:
- subproc = subprocess.Popen(args,
- stdin=subprocess.DEVNULL,
- stdout=subprocess.DEVNULL,
- stderr=subprocess.DEVNULL)
+ subproc = subprocess.Popen(
+ args,
+ stdin=subprocess.DEVNULL,
+ stdout=subprocess.DEVNULL,
+ stderr=subprocess.DEVNULL,
+ )
else:
subproc = subprocess.Popen(args, stdin=subprocess.DEVNULL)
def kill_subproc() -> None:
try:
if subproc.poll() is None:
- logger.info("At exit handler: killing {}: {}".format(subproc, command))
+ logger.info(
+ "At exit handler: killing {}: {}".format(subproc, command)
+ )
subproc.terminate()
subproc.wait(timeout=10.0)
except BaseException as be:
logger.exception(be)
+
atexit.register(kill_subproc)
return subproc
@@ -152,4 +159,5 @@ def cmd_list(command: List[str]) -> str:
if __name__ == '__main__':
import doctest
+
doctest.testmod()