Python Glossary English

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