import multiprocessing #import multiprocessing.dummy as multiprocessing import time import sys import os def daemon(): p = multiprocessing.current_process() print('Starting: ', p.name)#, p.pid) sys.stdout.flush() time.sleep(2) print('Exiting: ', p.name)#, p.pid) sys.stdout.flush() def non_daemon(): p = multiprocessing.current_process() print('Starting: ', p.name)#, p.pid) sys.stdout.flush() time.sleep(6) print('Exiting: ', p.name)#, p.pid) sys.stdout.flush() if __name__ == '__main__': d = multiprocessing.Process(name='daemon', target=daemon) d.daemon = True n = multiprocessing.Process(name='non-daemon', target=non_daemon) n.daemon = False d.start() time.sleep(1) n.start() # n.join() # d.join()