Python 3.13+Linuxosфункция
os.timerfd_settime
os — события и таймеры (fd)
Задаёт время старта и период таймер-дескриптора (в секундах, float). Доступно на Linux.
Синтаксис
os.timerfd_settime(...)
Параметр initial задаёт первое срабатывание, interval — период; interval=0 означает однократный таймер, а initial=0 останавливает таймер. Чтение из дескриптора возвращает 8 байт — число срабатываний с прошлого чтения, что позволяет заметить пропущенные тики. Возвращает прежние настройки.
Примеры
import os, time
fd = os.timerfd_create(time.CLOCK_MONOTONIC) # → ? только Linux: дескриптор таймера
print(os.timerfd_settime(fd, initial=1.5, interval=0.5)) # → (0.0, 0.0) — прежних настроек не было; сигнал через 1.5 с, дальше каждые 0.5 с
print(int.from_bytes(os.read(fd, 8), 'little')) # → 1 — чтение ждало первого срабатывания
print(os.timerfd_settime(fd, flags=os.TFD_TIMER_ABSTIME, initial=time.clock_gettime(time.CLOCK_MONOTONIC) + 3.0)) # → ? только Linux: примерно (0.5, 0.5) — прежние значения; новый срок задан абсолютным моментом часов
print(os.timerfd_settime(fd, initial=0.0)) # → ? только Linux: примерно (2.9, 0.0) — initial=0.0 выключает таймер
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности