return p.returncode
-def cmd_with_timeout(command: str, timeout_seconds: Optional[float] = None) -> int:
+def cmd_exitcode(command: str, timeout_seconds: Optional[float] = None) -> int:
"""Run a command but do not let it run for more than timeout_seconds.
This code doesn't capture or rebroadcast the command's output. It
returns the exit value of the command or raises a TimeoutExpired
the exit status of the subprocess once the subprocess has
exited
- >>> cmd_with_timeout('/bin/echo foo', 10.0)
+ >>> cmd_exitcode('/bin/echo foo', 10.0)
0
- >>> cmd_with_timeout('/bin/sleep 2', 0.01)
+ >>> cmd_exitcode('/bin/sleep 2', 0.01)
Traceback (most recent call last):
...
subprocess.TimeoutExpired: Command '['/bin/bash', '-c', '/bin/sleep 2']' timed out after 0.01 seconds
ret = subprocess.run(
command,
shell=True,
- # capture_output=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
check=True,
import string_utils
from ansi import bg, fg, reset, underline
from decorator_utils import singleton
-from exec_utils import cmd_in_background, cmd_with_timeout, run_silently
+from exec_utils import cmd_exitcode, cmd_in_background, run_silently
from thread_utils import background_thread
logger = logging.getLogger(__name__)
def _ping(host) -> bool:
logger.debug('RUN> ping -c 1 %s', host)
try:
- x = cmd_with_timeout(f'ping -c 1 {host} >/dev/null 2>/dev/null', timeout_seconds=1.0)
+ x = cmd_exitcode(f'ping -c 1 {host} >/dev/null 2>/dev/null', timeout_seconds=1.0)
return x == 0
except Exception:
return False