| Line | |
|---|
| 1 | #!/usr/bin/env python |
|---|
| 2 | # -*- coding: utf-8 -*- |
|---|
| 3 | |
|---|
| 4 | import signal, time |
|---|
| 5 | |
|---|
| 6 | class level1app: |
|---|
| 7 | run = True |
|---|
| 8 | save = False |
|---|
| 9 | |
|---|
| 10 | def sighandler(self, signum, frame): |
|---|
| 11 | if signum == signal.SIGUSR1: |
|---|
| 12 | self.save = True |
|---|
| 13 | elif signum == signal.SIGTERM: |
|---|
| 14 | self.run = False |
|---|
| 15 | elif signum == signal.SIGINT: |
|---|
| 16 | self.run = False |
|---|
| 17 | else: |
|---|
| 18 | print "Unknown signal %d received" % signum |
|---|
| 19 | |
|---|
| 20 | def run(self): |
|---|
| 21 | signal.signal(signal.SIGUSR1, self.sighandler) |
|---|
| 22 | signal.signal(signal.SIGTERM, self.sighandler) |
|---|
| 23 | signal.signal(signal.SIGINT, self.sighandler) |
|---|
| 24 | |
|---|
| 25 | print "Waiting for signals..." |
|---|
| 26 | |
|---|
| 27 | while self.run: |
|---|
| 28 | if self.save: |
|---|
| 29 | print "Save" |
|---|
| 30 | self.save = False |
|---|
| 31 | time.sleep(0.1) |
|---|
| 32 | |
|---|
| 33 | print "Exit" |
|---|
| 34 | |
|---|
| 35 | level1app().run() |
|---|