python 2.7信号值错误

use*_*262 3 python signals python-2.7

请,谁能解释为什么我会收到此错误:

ValueError: invalid signal value
Run Code Online (Sandbox Code Playgroud)

尝试在Python 2.7.6和Python 3.3下执行此测试代码时

import signal, os

def handler(signum, frame):    
    print('Signal handler called with signal', signum)

signal.signal(signal.CTRL_C_EVENT, handler)
Run Code Online (Sandbox Code Playgroud)

Pet*_*tri 6

您无法为注册信号处理程序CTRL_C_EVENT,因为它不支持。

不幸的是,CTRL_C_EVENT上的Python文档 并没有真正明确地指出:当文档说“ 该信号只能与os.kill一起使用时,它们的意思是从字面上看,就像“真的,您对这个信号所做的所有事情都将其用作”在中os.kill(pid, signal.CTRL_C_EVENT),因此请勿尝试为其注册处理程序”。

有关某些背景,请参见Python问题9524

是否应该更好地记录该行为?当然好。