为什么 SIGALARM 会杀死 Linux 上的 Python 程序?

Why is SIGALARM killing the Python program on Linux?

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()

这个程序在 stdout 上打印了四次 Alive 然后死掉了。虽然我没有在程序中明确处理 SIGALARM 信号,但我只是希望警报被忽略。但是,在 Linux 上,脚本在触发警报后死亡。我无法找到 Linux 的任何文档,其中声明它应该是警报信号的默认行为。知道是什么导致了这种行为吗?

man pages 来看,很明显这是意料之中的事情。在 "Standard Signals" 部分下,SIGALRM 的默认操作是终止进程。在我所知道的任何类 Unix 环境中都是这种情况。