Python Glossary English

Python 3.8+signalфункция

signal.valid_signals()

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

Возвращает множество номеров сигналов, допустимых на этой платформе. Удобна, чтобы заблокировать «всё сразу».

Синтаксис

signal.valid_signals()

Это не range(1, NSIG): система может резервировать часть номеров (на Linux glibc забирает 32 и 33 под потоки). Есть здесь и SIGKILL со SIGSTOP, хотя ни поймать, ни заблокировать их нельзя, — перебор valid_signals() с signal.signal на них упадёт OSError. Полная маска для pthread_sigmask — ровно valid_signals().

Примеры

import signal
sigs = signal.valid_signals()
print(signal.SIGINT in sigs, signal.SIGKILL in sigs)  # → True True
print(len(sigs))  # → ? зависит от ОС
try:
    signal.signal(signal.SIGKILL, signal.SIG_IGN)
except OSError:
    print('SIGKILL не перехватить')  # → SIGKILL не перехватить — это Unix

См. также

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