Skip to content

Instantly share code, notes, and snippets.

@MrKich
Created May 23, 2018 11:55
Show Gist options
  • Save MrKich/6b1c2f609c4a986bddc9fa291a60c1a9 to your computer and use it in GitHub Desktop.
Save MrKich/6b1c2f609c4a986bddc9fa291a60c1a9 to your computer and use it in GitHub Desktop.
Simple class for catching exit signals
import threading
import signal
class SignalExitter:
def __init__(self):
self.event = threading.Event()
signal.signal(signal.SIGINT, self._exit_by_signal)
signal.signal(signal.SIGTERM, self._exit_by_signal)
def _exit_by_signal(self, signum, frame):
self.event.set()
def wait(self, timeout=None):
return self.event.wait(timeout)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment