Python Glossary English

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Сообщить о неточности