Hallo,
was kann der Grund sein, dass ein von mir erstelltes Programm nicht als
Service gestartet werden kann? Ich arbeite unter Windows10.
Ich habe mit folgendem Code meinen Service angelegt, was auch geklappt
hat:
1 | SC CREATE BeispielService binPath="%~dp0main.exe" start=auto error=ignore DisplayName="Mein Programm"
|
Möchte ich diesen Service nun mit
1 | net start BeispielService
|
starten, erscheint ewig keine Ausgabe und am Ende tritt ein Fehler auf
"Der Dienst reagiert auf die Kontrollfunktion nicht". Errorlevel 2.
Muss ich mein Programm irgendwie speziell gestalten, damit dieses als
Dienst ausgeführt werden kann? Liegt es daran, dass ich eine while(true)
Schleife programmiert habe? Macht man das anders? Mein Testprogramm
sieht folgendermaßen aus:
1 | int main(int argc, char** argv) {
|
2 | int x = 0;
|
3 | boost::this_thread::sleep(boost::posix_time::milliseconds(500));
|
4 | while (true) {
|
5 | std::cout << x++ << std::endl;
|
6 | }
|
7 | }
|
Danke für eure Ratschläge.