Python 3.13+Linuxosfunction
os.timerfd_settime_ns
os — events and timers (fd)
Like timerfd_settime, but in nanoseconds (int). Availability: Linux.
Syntax
os.timerfd_settime_ns(...)
It does the same as timerfd_settime but takes integer nanoseconds. That avoids float error for precise periods: 0.1 seconds is not exactly representable as a float, while 100_000_000 nanoseconds is.
Examples
import os, time
fd = os.timerfd_create(time.CLOCK_MONOTONIC) # → ? только Linux: дескриптор таймера
print(os.timerfd_settime_ns(fd, initial=1_000_000_000, interval=250_000_000)) # → (0, 0) — прежние значения в наносекундах; старт через 1 с, период 0.25 с
print(int.from_bytes(os.read(fd, 8), 'little')) # → 1 — чтение ждало первого срабатывания
print(os.timerfd_settime_ns(fd, initial=0, interval=0)) # → ? только Linux: примерно (250000000, 250000000) — прежние остаток и период; таймер выключен
os.timerfd_settime_ns(fd, initial=0.5) # → TypeError — нужны целые наносекунды, дробные секунды принимает os.timerfd_settime
See also
Common errors
Open in the full glossarydocs.python.orgReport an inaccuracy