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