So what should you use?

Updated: April 19, 2023

Obviously, if you're porting existing code, you'll want to use whatever it uses. For new code, you should avoid fork() if at all possible.

Here's why:

Your best choice for portability is posix_spawn().