So here goes.
Long ago, I, like many Unix fans, thought that fork(2) and the fork-exec process spawning model were the greatest thing, and the Windows sucked for only having exec*() and _spawn*(), the last being a Windows-ism.
After many years of experience, I learned that fork(2) is in fact evil.
https://gist.github.com/nicowilliams/a8a07b0fc75df05f684c23c18d7db234