我正在尝试使用siginterrupt
当我运行以下代码时:
import time
import signal
import multiprocessing
import os
def x():
time.sleep(10)
p = multiprocessing.Process(target=x)
p.start()
os.kill(p.pid, signal.SIGINT)
p.join(1)
print p.is_alive()
按预期将False打印到屏幕上 但是当我运行以下代码时:
import time
import signal
import multiprocessing
import os
def x():
time.sleep(10)
def y():
p = multiprocessing.Process(target=x)
p.start()
p.join()
p = multiprocessing.Process(target=y)
p.start()
os.kill(p.pid, signal.SIGINT)
p.join(1)
print p.is_alive()
打印为True
为什么siginterrupt
之后该过程仍然存在?