blob: 2c22ff85ff83aa0f7b63c3e7a5927953c5fe0758 [file]
############################################################################
# Copyright (C) SchedMD LLC.
############################################################################
# SchedMD
from utils.cmds import run_cmd
from utils.log import log
def get_pids_from_exe(exe_path, verbose=True) -> list:
if verbose:
log(f"Retrieving pids from {exe_path}")
# NOTE do we need a run_cmd_output?
pid_list = run_cmd(f"pidof {exe_path}").stdout.strip().split()
return pid_list
# TODO add a repeat_until to this with timeout
def kill_pids_from_exe(exe_path):
for pid in get_pids_from_exe(exe_path):
run_cmd(f"kill {pid}")
def is_tool(tool):
from shutil import which
return which(tool) is not None