pythontr.com
Python signal, bir sinyalin oluşturulması için belirlenen ve uygun koşullar oluştuğunda tetiklenmesini sağlayan oldukça kullanışlı bir etkileşim yapısıdır.
import time import logging import signal stop = False def terminate_handler(signal, frame): print("Sistem son buldu") global stop stop = True if __name__ == '__main__': signal.signal(signal.SIGINT, terminate_handler) signal.signal(signal.SIGTERM, terminate_handler) while not stop: time.sleep(1) print("Kod bluğumuzun çalışacak kısmı ...") print(stop) print("Programımız sonlanıyor.")
Bu örneğimizi test için CTRL + c yada konsol üzerinde kill ederek deneyebilirsiniz.
Ayrıca benzer mantıkla alarmlarda kurabiliriz.
import signal, os import time def handler(signal, frame): print('Signal cagrildi', signal) signal.signal(signal.SIGALRM, handler) signal.alarm(5) time.sleep(5)
Yorumlar