import signal signal.alarm(time)
time - время в секундах.int, время в секундах.Функция alarm() модуля signal запрашивает отправку сигнала signal.SIGALRM процессу в течении time секунд.
Любой ранее запланированный сигнал signal.SIGALRM отменяется, в любой момент может быть запланирован только один сигнал тревоги. В этом случае возвращаемое значение представляет собой количество секунд до того, как должен был быть доставлен любой ранее установленный сигнал тревоги.
time равно нулю, то любой запланированный сигнал signal.SIGALRM отменяется.signal.alarm() равно нулю, то в настоящий момент не запланировано никаких сигналов signal.SIGALRM.Доступность: Unix. Для получения дополнительной информации смотрите справочную страницу по сигналу OS alarm(2).
В примере ниже пошлем сигнал signal.SIGALRM, что бы экстренно выйти из программы. Как указывает стандартная документация модуля os, это полезно для предотвращения бесконечной блокировки при операциях ввода-вывода или других системных вызовах.
import signal, time def handler_alarm(signum, stack): print('Alarm :', time.ctime()) os.exit(1) # Вызовем receive_alarm() через 5 секунд. signal.signal(signal.SIGALRM, handler_alarm) signal.alarm(5) print('Before:', time.ctime()) time.sleep(360) # Before: Mon Jun 1 09:10:41 2020 # Alarm : Mon Jun 1 09:10:43 2020