From ac2ff53cb34bd2d0f182549cb5f13dc1462517f0 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Thu, 14 Sep 2023 09:12:24 +0200 Subject: [PATCH] better handling of keyboard interrupt on 'run' + add ServiceManager.get_cfg (works then also for FrappyManager) --- base.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/base.py b/base.py index de5e51c..fe7d524 100644 --- a/base.py +++ b/base.py @@ -165,6 +165,11 @@ class ServiceManager: example for sea: return samenv name """ + cfginfo = {} + self.get_procs(self.group, cfginfo) + result = cfginfo.get((ins, service)) + if result: + return result return '' def get_procs(self, groups=None, cfginfo=None): @@ -334,7 +339,12 @@ class ServiceManager: sys.path.insert(0, start_dir) if wait: proc = subprocess.Popen(cmd.split(), env=env) - proc.wait() + for _ in range(3): + try: + proc.wait() + break + except KeyboardInterrupt: + pass return process = subprocess.Popen(cmd.split(), env=env, start_new_session=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)