Depending on the platform, :mod:`multiprocessing` supports three ways
to start a process. These *start methods* are
+ .. _multiprocessing-start-method-spawn:
+
*spawn*
The parent process starts a fresh Python interpreter process. The
child process will only inherit those resources necessary to run
Available on POSIX and Windows platforms. The default on Windows and macOS.
+ .. _multiprocessing-start-method-fork:
+
*fork*
The parent process uses :func:`os.fork` to fork the Python
interpreter. The child process, when it begins, is effectively
raise a :exc:`DeprecationWarning`. Use a different start method.
See the :func:`os.fork` documentation for further explanation.
+ .. _multiprocessing-start-method-forkserver:
+
*forkserver*
When the program starts and selects the *forkserver* start method,
a server process is spawned. From then on, whenever a new process
For more information, see :issue:`5155`, :issue:`5313` and :issue:`5331`
+.. _multiprocessing-programming-spawn:
+.. _multiprocessing-programming-forkserver:
+
The *spawn* and *forkserver* start methods
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^