Как обнаружить и правильно обработать signal.SIGTERM в Windows 11Python

Программы на Python
Anonymous
Как обнаружить и правильно обработать signal.SIGTERM в Windows 11

Сообщение Anonymous »

В моей программе на Python мне нужно обнаружить и корректно обработать сигнал.SIGTERM
Я использую следующие две небольшие программы Python для отправки и обработки сигнала.SIGTERM:
Получатель и обработчик:

Код: Выделить всё

import signal, time, os

def handle_signal(signum, frame):
global running
print ("Received signal", signum)
running = False

signal.signal(signal.SIGTERM, handle_signal)

# Write the PID to a file
with open("pid.txt", "w") as f:
f.write(str(os.getpid()))

running = True
while running:
time.sleep(1)

Отправитель:

Код: Выделить всё

import os, signal, time

# Read PID from file
with open("pid.txt", "r") as f:
pid = int(f.read())

time.sleep(5)  # Optional delay

# Send SIGUSR1 signal
os.kill(pid, signal.SIGTERM)

Как только я отправляю signal.SIGTERM получателю, он завершается, но handle_signal никогда не вызывается.
< п>Почему? Как заставить эту настройку работать на платформе Windows 11 или Windows?

Подробнее здесь: https://stackoverflow.com/questions/790 ... windows-11

Вернуться в «Python»