Looking at the behavior of ::exit()] it seems juce::Process::terminate() is still not doing the right thing. The docs for terminate state:
/** Kills the current process immediately.
This is an emergency process terminator that kills the application
immediately - it's intended only for use only when something goes
horribly wrong.
And I agree with this. but exit() is not the way to do it. You probably want abort or _exit
It seems only Windows has the right implementation of Process::terminate()
std::exit, std::terminate, std::abort, std::_Exit, _exit, ::exit. The standard’s a total fucking mess when it comes to this stuff. I guess std::_Exit is the way to go then.