180. Signal Handling with signal Module

Snippet 1: Basic Signal Handling

import signal
import sys

def signal_handler(signum, frame):
    print(f"Signal {signum} received")
    sys.exit(0)

# Handle SIGINT (Ctrl+C)
signal.signal(signal.SIGINT, signal_handler)

print("Press Ctrl+C to exit.")
signal.pause()  # Wait for signals

Snippet 2: Handling SIGTERM (Termination Signal)

import signal
import sys

def signal_handler(signum, frame):
    print(f"Received termination signal: {signum}")
    sys.exit(0)

# Handle SIGTERM (kill command)
signal.signal(signal.SIGTERM, signal_handler)

print("Waiting for termination signal...")
signal.pause()  # Wait for signals

Snippet 3: Custom Signal Handler with Arguments


Snippet 4: Ignoring Signals


Snippet 5: Raising a Signal Programmatically


Snippet 6: Setting a Timeout with SIGALRM


Snippet 7: Handling Multiple Signals


Snippet 8: Re-setting a Signal Handler


Snippet 9: Using signal.pause() for Blocking


Snippet 10: Handling Signals in a Separate Thread


Last updated