Op 2018-07-29, Terry Reedy schreef <tjre...@udel.edu>: > multiprocessing module uses 'spawn' rather than 'fork' on Windows and it > has an option to use 'spawn' even on *nix. I presume the latter refers > to posix_spawn. You might want to check the multiprocessing code to see > what *it* is doing 'under the covers'.
Actually, the only place posix_spawn is currently used in Python is in some experimental and currently-disabled code in the posix module. `spawn' in multiprocessing only refers to a fork/exec combination (on Posix, at least), as opposed to `fork' which only does a fork. Note that posix_spawn cannot provide full subprocess functionality (obviously preexec_fn, but also not start_new_session). So it's a hard sell to add a posix_spawn special case there, since a generic fork/exec would need to be maintained anyway. (The same reason is also why most shells such as bash, zsh, don't bother with posix_spawn.) Stephan -- https://mail.python.org/mailman/listinfo/python-list