diff --git a/manager.py b/manager.py index 0e4f8aabe9..6e26502afa 100644 --- a/manager.py +++ b/manager.py @@ -1,4 +1,5 @@ import time +import os import sys import signal import multiprocessing @@ -20,6 +21,7 @@ if __name__ == '__main__': # SystemExit on sigterm signal.signal(signal.SIGTERM, signal_handler) + os.register_at_fork(after_in_child=lambda: signal.signal(signal.SIGTERM, signal.getsignal(signal.SIGTERM))) p = multiprocessing.Process(target=launcher, name='python_process') try: diff --git a/system/manager/manager.py b/system/manager/manager.py index 2055cc3a23..30ff9d6dc3 100755 --- a/system/manager/manager.py +++ b/system/manager/manager.py @@ -187,6 +187,7 @@ def main() -> None: # SystemExit on sigterm # signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(1)) signal.signal(signal.SIGTERM, here) + os.register_at_fork(after_in_child=lambda: signal.signal(signal.SIGTERM, signal.getsignal(signal.SIGTERM))) try: manager_thread()