Beispiel #1
0
 def _local_status(self):
     exit_status = self.get("exit_status")
     if exit_status is not None:
         return _status_for_exit_status(exit_status)
     local_pid = self._get_pid()
     if local_pid is not None and util.pid_exists(local_pid):
         return "running"
     return "error"
Beispiel #2
0
 def _local_status(self):
     pid = self.pid  # side-effect, read once
     if pid is None:
         exit_status = self.get("exit_status")
         if exit_status is None:
             return "error"
         elif exit_status == 0:
             return "completed"
         elif exit_status < 0:
             return "terminated"
         else:
             return "error"
     elif util.pid_exists(pid):
         return "running"
     else:
         return "terminated"
Beispiel #3
0
def _try_stop_local_run(run):
    pid = run.pid
    if pid and util.pid_exists(pid):
        cli.out("Stopping %s (pid %i)" % (run.id, run.pid))
        os.kill(pid, signal.SIGTERM)