Belle II Software  release-05-01-25
run_processor.py
1 #! /usr/bin/env python
2 
3 import os
4 import sys
5 import signal
6 import subprocess
7 
8 global proc
9 
10 
11 # Signal Handler
12 def cleanup(num, frame):
13  # os.kill(proc.pid, signal.SIGKILL)
14  # os.kill(proc.pid, signal.SIGINT)
15  os.killpg(proc.pid, signal.SIGINT)
16  exit()
17 
18 # main
19 
20 # Signal Handler
21 signal.signal(signal.SIGINT, cleanup)
22 signal.signal(signal.SIGTERM, cleanup)
23 
24 # Obtain input/output RingBuffer names
25 argvs = sys.argv
26 argc = len(argvs)
27 
28 inputrb = argvs[1]
29 outputrb = argvs[2]
30 histport = argvs[3]
31 # ncore = argvs[4]
32 ncore = "20"
33 
34 script = "processor.py"
35 
36 # run basf2
37 proc = subprocess.Popen("basf2 --no-stats " + script + " " + inputrb + " " + outputrb +
38  " " + histport + " " + ncore, shell=True, preexec_fn=os.setsid)
39 
40 # Just sleep
41 proc.wait()