#!/usr/bin/python3 # -*- coding: utf-8 -*- import signal, time class level1app: run = True save = False def sighandler(self, signum, frame): if signum == signal.SIGUSR1: self.save = True elif signum == signal.SIGTERM: self.run = False elif signum == signal.SIGINT: self.run = False else: print ("Unknown signal %d received" % signum) def run(self): signal.signal(signal.SIGUSR1, self.sighandler) signal.signal(signal.SIGTERM, self.sighandler) signal.signal(signal.SIGINT, self.sighandler) print ("Waiting for signals...") while self.run: if self.save: print ("Save") self.save = False time.sleep(0.1) print ("Exit") level1app().run()