def kill_processes(run_name, pids=None):
if pids:
- to_kill = set(pids).intersection(psutil.get_pid_list())
+ to_kill = set(pids).intersection(psutil.pids())
else:
to_kill = find_pids(run_name)
def process_matches_run(pid, run_name):
try:
p = psutil.Process(pid)
- if run_name in p.cmdline and sys.argv[0] not in p.cmdline:
+ cmd = p.cmdline()
+ if run_name in cmd and sys.argv[0] not in cmd:
return True
except psutil.NoSuchProcess:
pass
def find_pids(run_name):
run_pids = []
- for pid in psutil.get_pid_list():
+ for pid in psutil.pids():
if process_matches_run(pid, run_name):
run_pids.append(pid)
return run_pids