В окнах я пытаюсь отправить сигнал через скрипт Python и получить его в другом, но в принимающем скрипте мой обработчик сигнала не вызывается. Ниже приведены сценарии: signal.py
import signal
import os
import sys
import subprocess
import time
p = subprocess.Popen([sys.executable, "a.py" ])
print "created process id :" ,p.pid
time.sleep(4)
os.kill(p.pid,signal.SIGBREAK)
err,out = p.communicate()
print err
print out
a.py
import signal
import time
import os
def signalHandler ( signum , address ):
print "IN signal handler"
print os.getpid();
signal.signal(signal.SIGTERM,signalHandler)
signal.signal(signal.SIGABRT,signalHandler)
signal.signal(signal.SIGBREAK,signalHandler)
signal.signal(signal.SIGFPE,signalHandler)
signal.signal(signal.SIGILL,signalHandler)
signal.signal(signal.SIGINT,signalHandler)
signal.signal(signal.SIGSEGV,signalHandler)
signal.signal(signal.CTRL_C_EVENT,signalHandler)
print "Going in sleep a.py"
time.sleep(10)
Я запускаю signal.py, который внутренне вызывает a.py. Signal.py — отправитель, a.py — получатель. Я пытался использовать другие сигналы, такие как SIGTERM, SIGABRT, SIGFPE, но не смог поймать их в a.py.