import multiprocessing import os import psutil import signal def target(): while True: pass proc = multiprocessing.Process(target=target) proc.start() print("alive \t exists") print("%s \t %s" % (proc.is_alive(), psutil.pid_exists(proc.pid))) os.kill(proc.pid, signal.SIGTERM) print("%s \t %s" % (proc.is_alive(), psutil.pid_exists(proc.pid))) proc.join() # Output from 2.7.5 and 3.5.2 under Windows: # alive exists # True True # True False