Python 子流程的preexec_fn中的信号处理。Popen不工作
我试图处理使用Python 子流程的preexec_fn中的信号处理。Popen不工作,python,signals,Python,Signals,我试图处理使用subprocess.Popen(…,preexec_fn=…)执行的子进程的信号 根据preexec_fn是在子进程中运行的,因此理论上,以下两个程序的行为应该是相同的,第一个程序处理嵌入式c代码内部的信号,第二个程序通过python函数处理外部的信号 然而,通过检查退出代码是否为0,我发现只有c代码内部的处理才有效。有人知道为什么python中的信号处理不起作用吗 谢谢 从内部处理,使用0退出: 从tempfile导入临时目录 导入子流程 输入信号 导入操作系统 c_代码=”“
subprocess.Popen(…,preexec_fn=…)
执行的子进程的信号
根据preexec_fn是在子进程中运行的,因此理论上,以下两个程序的行为应该是相同的,第一个程序处理嵌入式c代码内部的信号,第二个程序通过python函数处理外部的信号
然而,通过检查退出代码是否为0,我发现只有c代码内部的处理才有效。有人知道为什么python中的信号处理不起作用吗
谢谢
从内部处理,使用0退出:
从tempfile导入临时目录
导入子流程
输入信号
导入操作系统
c_代码=”“
#包括
#包括
#包括
int main(){
std::signal(SIGFPE,[](int){std::quick_exit(0);});//在这里处理信号
标准::cout