繁体   English   中英

Python:将KeyboardInterrupt转发给多处理子进程吗?

[英]Python: while KeyboardInterrupt is forwarded to multiprocessing child process?

我在Windows上执行了以下测试代码:

import multiprocessing
import time

def child() :
  while True :
    time.sleep( 2 )

if __name__ == '__main__' :
  multiprocessing.Process( target = child ).start()
  while True :
    time.sleep( 1 )

如果在工作时按Ctrl-C ,则会看到两个 KeyboardInterrupt异常-一个用于sleep( 1 ) ,另一个用于sleep( 2 ) 将主process中的键盘中断转发给子process怎么回事? 毕竟它们是进程,而不是线程:(。

当进程捕获表示键盘中断 (按ctrl + c) SIGINT信号时,将抛出KeyboardInterrupt异常。

在Unix / Linux系统中, SIGINT信号被发送到整个前台进程组 ,其中包括父进程及其子进程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM