The mess more reflects supporting a programmatic interface to processes in a cross platform manner, coupled with the actual complexity of parallel processing.
You didn’t mention the recommended high level option for subprocess, ‘subprocess. run’.
You didn’t mention the recommended high level option for subprocess, ‘subprocess. run’.
There are other things I didn't mention that get thrown around too such as os.system() and os.fork().