Finally, the best/clean way I found to deal with my requirement was this:
Inside the main.cpp and before I start my service, I make all the verifications I need... if something goes wrong, then I call "return 0;" and that's it, a clean exit. If everything goes well, then I start my service. End of the story.
Thank you for your advices guys! :)