Python/System Signals: Difference between revisions
< Python
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
=== Gracefully close a process by signal | |||
<source lang="python3"> | <source lang="python3"> | ||
Revision as of 03:09, 28 August 2019
=== Gracefully close a process by signal
import signal
def main():
close_requested = False
def on_close(signum, frame):
nonlocal close_requested
close_requested = True
for signum in (signal.SIGHUP, signal.SIGINT, signal.SIGTERM):
signal.signal(signum, on_close)
while not close_requested:
# TODO
time.sleep(1)
if __name__ == '__main__':
main()