180. Signal Handling with signal Module
Snippet 1: Basic Signal Handling
Copy
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 signalsSnippet 2: Handling SIGTERM (Termination Signal)
Copy
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 signalsSnippet 3: Custom Signal Handler with Arguments
Copy
Snippet 4: Ignoring Signals
Copy
Snippet 5: Raising a Signal Programmatically
Copy
Snippet 6: Setting a Timeout with SIGALRM
Copy
Snippet 7: Handling Multiple Signals
Copy
Snippet 8: Re-setting a Signal Handler
Copy
Snippet 9: Using signal.pause() for Blocking
Copy
Snippet 10: Handling Signals in a Separate Thread
Copy
Last updated