from multiprocessing import Process, Queue, set_start_method
def p():
...
set_start_method("forkserver", force=True)
_queue = Queue()
if __name__ == "__main__":
Process(target=p).start()
I’d like to understand the main difference between the fork and forkserver start methods in Python’s multiprocessing module.
The code above works fine with fork, but when I switch to forkserver, I get this warning at shutdown:
/home/coyote/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/multiprocessing/resource_tracker.py:254: UserWarning: resource_tracker: There appear to be 3 leaked semaphore objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d '
How can I resolve this warning?