36 lines
842 B
Python
Executable File
36 lines
842 B
Python
Executable File
#!/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()
|