Those are all indeed services used by Luna:
– broker allows all the services to communicate over ZMQ.
– ws-connector allows websocket clients to communicate with the ZMQ stack.
– luna-empire is doing all the heavy lifting with editing graphs, running them, showing the results etc.
– undo-redo handles the undo–redo stack.
Now, this probably is not at all an answer to your question, so here it comes. On posix systems we’re using Supervisord, which ensures that even if one fails it gets back up. We have thought that windows services would provide pretty much the same functionality. Except that they cannot be stopped or spawned without admin privileges, which would require the Luna Studio app to run with those. So we have made it so that they would be there in background, but release all the resources when Luna Studio is not running. Except this way of doing things is not as bulletproof as we’d like it to be. Now that we look back, this is probably the single worst decision made when designing the Windows packages. We’ve gotten that one wrong and I’m sorry, we’ll be working on fixing this over the next week or two.