From 4987048b94b7e82fedd5e5eadb7161e5c97a7cdf Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Sun, 28 Apr 2024 20:20:32 -0400 Subject: [PATCH 1/2] bin/generate_prim_file: use POSIX process groups instead of psutil psutil is an external package. I'd rather not have to worry about providing it. --- bin/generate_prim_file | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/bin/generate_prim_file b/bin/generate_prim_file index 9474472f4..3e7f9fcb6 100755 --- a/bin/generate_prim_file +++ b/bin/generate_prim_file @@ -12,7 +12,6 @@ import atexit import time from datetime import datetime import fcntl -import psutil def readline_nonblocking(output): @@ -102,7 +101,8 @@ finished = False # run simulation print(' '.join(sim_cmd)) p = subprocess.Popen(args=sim_cmd, env=dawn_env, - stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) + stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE, + preexec_fn=os.setsid) __child_pid = p.pid while elapse.seconds < args.timeout: line = readline_nonblocking(p.stdout) @@ -134,14 +134,10 @@ while elapse.seconds < args.timeout: time.sleep(1) -p.kill() -# use to kill the subprocess generated from the python wrapper -# this is unsafe so maybe more checks required -for proc in psutil.process_iter(): - pinfo = proc.as_dict(attrs=['pid', 'name', 'create_time']) - if pinfo['pid'] == p.pid + 1 and pinfo['name'] == 'python': - print('kill {}, generated from {}'.format(pinfo, p.pid)) - os.kill(pinfo['pid'], signal.SIGTERM) +try: + os.killpg(os.getpgid(p.pid), signal.SIGTERM) +except ProcessLookupError: + pass # assume process is dead # revert the change #os.system('sed -i \'s/radius=\"EcalEndcapP_FiberRadius*10\"/radius=\"EcalEndcapP_FiberRadius\"/\' {}'.format(ci_ecal)) From f574e10571e0685debbd8055e05f633c6d3d1127 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 29 Apr 2024 00:22:13 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/BarrelCalorimeterScFi_geo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BarrelCalorimeterScFi_geo.cpp b/src/BarrelCalorimeterScFi_geo.cpp index e0a2fa468..9c6c337a5 100644 --- a/src/BarrelCalorimeterScFi_geo.cpp +++ b/src/BarrelCalorimeterScFi_geo.cpp @@ -237,7 +237,7 @@ void buildFibers(Detector& desc, SensitiveDetector& sens, Volume& s_vol, int lay struct Fiber { Point pos; bool assigned = false; - Fiber(const Point& p) : pos(p){}; + Fiber(const Point& p) : pos(p) {}; }; std::vector fibers(f_pos.begin(), f_pos.end());