Python 3.13+Linuxosфункция
os.timerfd_create
os — события и таймеры (fd)
Создаёт дескриптор таймера, срабатывания которого можно читать как события (Python 3.13+). Доступно на Linux.
Синтаксис
os.timerfd_create(...)
Таймер, срабатывания которого читаются как данные из дескриптора, — его можно ждать вместе с сокетами в одном select. Часы выбираются аргументом: time.CLOCK_MONOTONIC не прыгает при смене системного времени, в отличие от CLOCK_REALTIME. Таймер ещё нужно запустить через timerfd_settime.
Примеры
import os, time
fd = os.timerfd_create(time.CLOCK_MONOTONIC) # → ? только Linux: файловый дескриптор таймера, например 3
os.timerfd_settime(fd, initial=1.0) # → ? только Linux: одноразовый сигнал через 1 секунду
print(int.from_bytes(os.read(fd, 8), 'little')) # → 1 — чтение блокировалось до срабатывания таймера
os.close(fd) # → ? только Linux: таймер остановлен вместе с закрытием дескриптора
nb = os.timerfd_create(time.CLOCK_REALTIME, flags=os.TFD_NONBLOCK) # → ? только Linux: чтение до срабатывания даст BlockingIOError, а не блокировку
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности