在python中捕获一个SIGINT,同时块上的进程从管道读取

在python中捕获一个SIGINT,同时块上的进程从管道读取,python,pipe,ipc,Python,Pipe,Ipc,当我在阻塞模式下读取管道时,我有一个python代码,当我单击control+c并发送SIGINT时,进程将无法捕获它。只有在我在管道中发送了一些数据之后,SIGINT方法才被激活。我怎样才能在阅读中捕捉到信号? (python代码在Linux上运行) 这是我从管道读取的代码 while(msg.find(EOM) == -1): print "cp1" char= cpp_to_python_pipe.read(1) pr

当我在阻塞模式下读取管道时,我有一个python代码,当我单击control+c并发送SIGINT时,进程将无法捕获它。只有在我在管道中发送了一些数据之后,SIGINT方法才被激活。我怎样才能在阅读中捕捉到信号? (python代码在Linux上运行) 这是我从管道读取的代码

while(msg.find(EOM) == -1):
            print "cp1"
            char= cpp_to_python_pipe.read(1)
            print "cp2"
这是SIGINT处理程序

def sigterm_handler(_signo, _stack_frame):
#get sigint signal and send event to the cpp
print "terminated by user signal(" +str(_signo) + ")"
send_event_to_cpp("<on_sigint>")
os._exit(0)
def sigterm\u处理程序(\u signo,\u stack\u frame):
#获取sigint信号并向cpp发送事件
打印“由用户信号终止(“+str(+signo)+”)
将事件发送到cpp(“”)
操作系统退出(0)