in easy_rec/python/utils/hpo_util.py [0:0]
def kill_old_proc(tmp_dir, platform='pai'):
curr_pid = os.getpid()
if platform == 'pai':
for p in psutil.process_iter():
try:
cmd = ' '.join(p.cmdline())
if 'easy_rec.python.hpo.pai_hpo' in cmd and 'python' in cmd:
if p.pid != curr_pid:
logging.info('will kill: [%d] %s' % (p.pid, cmd))
p.terminate()
if 'client/experiment_main.py' in cmd and 'python' in cmd:
if p.pid != curr_pid:
logging.info('will kill: [%d] %s' % (p.pid, cmd))
p.terminate()
except Exception:
pass
else:
for p in psutil.process_iter():
try:
cmd = ' '.join(p.cmdline())
if 'easy_rec.python.hpo.emr_hpo' in cmd and 'python' in cmd:
if p.pid != curr_pid:
logging.info('will kill: [%d] %s' % (p.pid, cmd))
p.terminate()
if 'client/experiment_main.py' in cmd and 'python' in cmd:
if p.pid != curr_pid:
logging.info('will kill: [%d] %s' % (p.pid, cmd))
p.terminate()
if 'el_submit' in cmd and 'easy_rec_hpo' in cmd:
if p.pid != curr_pid:
logging.info('will kill: [%d] %s' % (p.pid, cmd))
p.terminate()
except Exception:
pass
if platform == 'emr':
# clear easy_rec_hpo yarn jobs
yarn_job_file = os.path.join(tmp_dir, 'yarn_job.txt')
os.system(
"yarn application -list | awk '{ if ($2 == \"easy_rec_hpo\") print $1 }' > %s"
% yarn_job_file)
yarn_job_arr = []
with open(yarn_job_file, 'r') as fin:
for line_str in fin:
line_str = line_str.strip()
yarn_job_arr.append(line_str)
yarn_job_arr = list(set(yarn_job_arr))
if len(yarn_job_arr) > 0:
logging.info('will kill the easy_rec_hpo yarn jobs: %s' %
','.join(yarn_job_arr))
os.system('yarn application -kill %s' % ' '.join(yarn_job_arr))