Python Glossary English

Python 3.5+signalпонятие

signal.Signals

перечисления и сведения

Перечисление IntEnum всех сигналов платформы (SIGINT, SIGTERM…): переводит номер в имя и обратно.

Синтаксис

signal.Signals(number).name, signal.Signals['SIGTERM']

Номера сигналов зависят от ОС: SIGUSR1 — 10 на Linux и 30 на macOS, поэтому в логах и протоколах передавайте имя, а не число. С Python 3.11 print(signal.SIGTERM) и f-строка печатают просто 15 — имя даёт только .name или repr. Набор членов тоже разный: SIGBREAK есть лишь на Windows, SIGUSR1 — лишь на Unix, и обращение к отсутствующему — AttributeError.

Примеры

import signal
print(signal.Signals(2).name)  # → SIGINT
print(signal.Signals['SIGTERM'] == signal.SIGTERM)  # → True
print(f'{signal.SIGTERM}', repr(signal.SIGTERM))  # → 15 <Signals.SIGTERM: 15>

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности