diff --git a/lib/galaxy/jobs/runners/local.py b/lib/galaxy/jobs/runners/local.py index daaad8044ba..4903dcad37a 100644 --- a/lib/galaxy/jobs/runners/local.py +++ b/lib/galaxy/jobs/runners/local.py @@ -5,6 +5,7 @@ import datetime import errno import logging import os +import signal import subprocess import tempfile import threading @@ -165,7 +166,7 @@ class LocalJobRunner(BaseJobRunner): if not self._check_pid(pid): log.warning("stop_job(): %s: PID %d was already dead or can't be signaled" % (job.id, pid)) return - for sig in [15, 9]: + for sig in [signal.SIGTERM, signal.SIGKILL]: try: os.killpg(pid, sig) except OSError as e: @@ -220,10 +221,10 @@ class LocalJobRunner(BaseJobRunner): return False def _terminate(self, proc): - os.killpg(proc.pid, 15) + os.killpg(proc.pid, signal.SIGTERM) sleep(1) if proc.poll() is None: - os.killpg(proc.pid, 9) + os.killpg(proc.pid, signal.SIGKILL) return proc.wait() # reap def _handle_container(self, job_wrapper, proc): diff --git a/lib/galaxy/jobs/runners/util/kill.py b/lib/galaxy/jobs/runners/util/kill.py index a95d7e0b51c..6b4e3f8854d 100644 --- a/lib/galaxy/jobs/runners/util/kill.py +++ b/lib/galaxy/jobs/runners/util/kill.py @@ -1,4 +1,5 @@ import os +import signal import subprocess from platform import system from time import sleep @@ -55,7 +56,7 @@ def __kill_posix(pid): return False if __check_pid(): - for sig in [15, 9]: + for sig in [signal.SIGTERM, signal.SIGKILL]: try: os.killpg(pid, sig) except OSError: