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