import signal signal.pause()
Функция pause()
модуля signal
заставляет процесс уснуть до тех пор пока не будет получен сигнал, далее будет вызван соответствующий обработчик.
Ничего не возвращает.
Доступен в UNIX. Для дополнительной информации смотрите страницу man signal(2).
Дополнительно смотрите функции модуля signal.sigwait()
, signal.sigwaitinfo()
, signal.sigtimedwait()
и signal.sigpending()
.
import signal, time def timer(): return time.strftime('%H:%M:%S', time.localtime()) def handle(signum, frame): print(f'{timer()} -> Получение сигнала') signal.signal(signal.SIGALRM, handle) signal.alarm(4) for x in range(10): if x ==5: signal.pause() print(f'{timer()} -> value = {x**2}') time.sleep(0.5) # 14:42:51 -> value = 0 # 14:42:52 -> value = 1 # 14:42:52 -> value = 4 # 14:42:53 -> value = 9 # 14:42:53 -> value = 16 # 14:42:55 -> Получение сигнала # 14:42:55 -> value = 25 # 14:42:56 -> value = 36 # 14:42:56 -> value = 49 # 14:42:57 -> value = 64 # 14:42:57 -> value = 81