Restarting the entire game

Our game is an online game, and we added to make it reconnect and restart the game when returning from background after a certain period of time.
There are singletons, DontDestroyOnLoad, and such, so just loading the first scene doesn’t work and is turning out to be a big mess to debug…

So my question, is there any way to completely restart a game (terminate the process and restart it, so that the entire memory is cleared, including singletons, all objects, etc)?
Any ideas?

To my knowledge this is not possible, which is especially true on iOS devices, where due to sandboxing rules you are not allowed to create or stop processes.
Your best call is to reload a scene, and manually destroy or re-create those singleton objects which you have marked as keep alive, with the DontDestroyOnLoad procedure.