91 sigs = [signal.SIGFPE, signal.SIGHUP, signal.SIGQUIT, signal.SIGSEGV,
201 def copy_histograms(self):
202 fname = f'r{self.args.run_number:010d}_{self.args.partition}_{self.args.oh_server}.root'
203 log.info('Copying histograms into %s (oh_cp)', fname)
204 subprocess.call(['oh_cp', '-p', self.args.partition, '-s', self.args.oh_server,
205 '-n', '.*', '-o', '.*', '-O',
206 '-r', str(self.args.run_number), '-f', fname])
209 if not self.processes:
212 if self.ready: # Nothing was ever published if we did not fully start
213 self.copy_histograms()
215 log.info('Finalizing OH monitoring infrastructure')
216 for part in [self.args.partition, 'initial']:
217 log.info('Destroying partition: %s', part)
218 subprocess.call(['ipc_rm', '-f', '-p', part, '-i', '".*"', '-n', '".*"'],
219 stdout=subprocess.PIPE, stderr=subprocess.PIPE)
221 for name, proc in self.processes:
222 while proc.poll() is None:
226 log.info('Terminated all infrastructure processes')