import signal
import time
import multiprocessing as mp
def launch():
signal.alarm(5)
while True:
time.sleep(1)
print "Alive"
p = mp.Process(target=launch)
p.start()
p.join()
Эта программа печатает Alive
четыре раза на стандартный вывод и затем умирает.Хотя я не обрабатываю сигнал SIGALARM
явно внутри программы, я просто ожидаю, что сигнал тревоги будет проигнорирован.Тем не менее, в Linux, сценарий умирает после срабатывания тревоги.Я не смог найти никакой документации для Linux, в которой говорится, что это должно быть поведение по умолчанию для сигнала тревоги.Есть идеи, что вызывает такое поведение?