# set log level
if (self.options.verbose):
logger.set_level(logger.LOG_VERBOSE)
+ tools.init_signals()
# Load /etc/planetlab/plc_config
config = Config(self.options.config)
work_duration=int(work_end-work_beg)
logger.log('nodemanager: mainloop has worked for %s s - sleeping for %d s'%(work_duration,delay))
time.sleep(delay)
- except: logger.log_exc("nodemanager: failed in run")
+ except SystemExit:
+ pass
+ except:
+ logger.log_exc("nodemanager: failed in run")
def run():
logger.log("======================================== Entering nodemanager.py")
import subprocess
import shutil
import sys
+import signal
import logger
logger.log("command_in_slice: WARNING: could not find a valid virt")
return argv
+####################
+def init_signals ():
+ def handler (signum, frame):
+ logger.log("Received signal %d - exiting"%signum)
+ exit(1)
+ signal.signal(signal.SIGHUP,handler)
+ signal.signal(signal.SIGQUIT,handler)
+ signal.signal(signal.SIGINT,handler)
+ signal.signal(signal.SIGTERM,handler)