from threading import Thread as Process import time def f(name=None): while True: time.sleep(3) elements = mw.selected_elements() if not elements: break mw.message("child process exited") p = Process(target=f, args=()) p.start() mw.message("main process exited")