Run atexit() when python process is killed

前端 未结 3 1702
小蘑菇
小蘑菇 2021-02-05 11:38

I have a python process which runs in background, and I would like it to generate some output only when the script is terminated.

def handle_exit():
    print(\'         


        
3条回答
  •  感动是毒
    2021-02-05 12:15

    To check your system and see which signal is being called:

    import signal
    import time
    
    
    def handle_signal(sig_id, frame):
        sig = {x.value: x for x in signal.valid_signals()}.get(sig_id)
        print(f'{sig.name}, {sig_id=}, {frame=}')
        exit(-1)
    
    
    for sig in signal.valid_signals():
        print(f'{sig.value}: signal.{sig.name},')
        signal.signal(sig, handle_signal)
    
    time.sleep(30)
    

提交回复
热议问题