diff --git a/msgpi/utils.py b/msgpi/utils.py index 14ac633..ea5120c 100644 --- a/msgpi/utils.py +++ b/msgpi/utils.py @@ -1,4 +1,5 @@ import os +import signal import math import subprocess as sbp import numpy as np @@ -12,15 +13,15 @@ def run(cmd, timeout, scrnout): # sbp.call(cmd) proc = sbp.Popen(cmd) else: - FNULL = open(os.devnull, 'w') + # FNULL = open(os.devnull, 'w') # sbp.call(cmd, stdout=FNULL, stderr=sbp.STDOUT) - proc = sbp.Popen(cmd, stdout=FNULL, stderr=sbp.STDOUT) + proc = sbp.Popen(cmd, stdout=sbp.DEVNULL, stderr=sbp.STDOUT,preexec_fn=os.setsid) try: stdout, stderr = proc.communicate(timeout=timeout) except sbp.TimeoutExpired as e: print('TimeoutExpired') - proc.kill() + os.killpg(os.getpgid(proc.pid), signal.SIGTERM) print('Process killed')