def kill_old_proc()

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))