terminate 关闭进程,不会立即关闭,有个等着操作系统去关闭这个进程的时间,所以is_alive立刻查看的结果可能还是存活,但是稍微等一会,就被关掉了
# coding:utf-8
import time
from multiprocessing import Process
class MyProcess(Process):
def run(self):
print("子进程开始.")
time.sleep(5)
print("子进程结束.")
if __name__ == '__main__':
p = MyProcess()
p.start()
time.sleep(1)
p.terminate()
print("is_alive:", p.is_alive())
time.sleep(0.01)
print("is_alive:", p.is_alive())
执行结果:
# 子进程开始.
# is_alive: True
# is_alive: False