mirror of
https://github.com/ansible/awx.git
synced 2026-01-12 02:19:58 -03:30
Merge pull request #326 from matburt/fix_cancel_behavior_in_proot
Fix proot job cancel behavior
This commit is contained in:
commit
e9370d0199
@ -23,6 +23,7 @@ import uuid
|
||||
from distutils.version import LooseVersion as Version
|
||||
import dateutil.parser
|
||||
import yaml
|
||||
import psutil
|
||||
|
||||
# Pexpect
|
||||
import pexpect
|
||||
@ -432,7 +433,16 @@ class BaseTask(Task):
|
||||
instance = self.update_model(instance.pk)
|
||||
if instance.cancel_flag:
|
||||
try:
|
||||
os.kill(child.pid, signal.SIGINT)
|
||||
if settings.AWX_PROOT_ENABLED:
|
||||
main_proc = psutil.Process(pid=child.pid)
|
||||
if hasattr(main_proc, "children"):
|
||||
child_procs = main_proc.children(recursive=False)
|
||||
else:
|
||||
child_procs = main_proc.get_children(recursive=False)
|
||||
for child_proc in child_procs:
|
||||
os.kill(child_proc.pid, signal.SIGTERM)
|
||||
else:
|
||||
os.kill(child.pid, signal.SIGTERM)
|
||||
time.sleep(3)
|
||||
canceled = True
|
||||
except OSError:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user