import multiprocessing, sys | |
def foo(): | |
print("123") | |
# Because "if __name__ == '__main__'" is missing this will not work | |
# correctly on Windows. However, we should get a RuntimeError rather | |
# than the Windows equivalent of a fork bomb. | |
if len(sys.argv) > 1: | |
multiprocessing.set_start_method(sys.argv[1]) | |
else: | |
multiprocessing.set_start_method('spawn') | |
p = multiprocessing.Process(target=foo) | |
p.start() | |
p.join() | |
sys.exit(p.exitcode) |