我在 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
例外 - 一个 forsleep( 1 )
和一个 for sleep( 2 )
。main 中的键盘中断process
是如何转发给 child 的process
?毕竟它们是进程,而不是线程:(。