Konsole beenden in c++
-
Hallo.
Ich habe einen Server geschrieben, der in einer Command box läuft.
Nun will ich diesen auch beenden können, wenn ich strg+c drücke funktionierts, aber mein Programm wird dann ja nicht ordnungsgemäß beendet.
Auch x drücken ist nicht so das wahre.
Meine Frage lautet wie beende ich mein Programm am einfachsten.
Oder gibt es auch eien möglichkeit, dass mein Programm strg+c erkennt und dann ordungsgemäß beendet?
-
Strg + D sendet ein EOF. Aber das hat insgesamt nichts mit C++ zu tun. Fuer welches Betriebssystem soll es denn sein?
-
Stichwort "signal handler"
-
Es sollsowohl in windows als auch Linux laufen.
-
Fellhuhn schrieb:
Stichwort "signal handler"
Sich selbst zu zitieren ist toll. Da ich nicht so schnell hintereinander hier schreiben darf, mach ich es mal ausführlicher:
#include <csignal> // ... int main(...){ signal( SIGTERM, cleanUp ); }wobei cleanUp deine Funktion ist.
-
Fellhuhn schrieb:
Fellhuhn schrieb:
Stichwort "signal handler"
Sich selbst zu zitieren ist toll. Da ich nicht so schnell hintereinander hier schreiben darf, mach ich es mal ausführlicher:
#include <csignal> // ... int main(...){ signal( SIGTERM, cleanUp ); }wobei cleanUp deine Funktion ist.
EDIT: Oder hier: http://www.justfuckinggoogleit.com/search.pl?q=signal+handler+c%2B%2B
-
Wenn deinen Server in einen eigenen Thread auslagern würdest, könnte deine Konsole ja auf Eingabe warten.
Wenn es nur um das Beenden geht wird das Programm halt beendet sobald du die Eingabe bestätigst, ansonsten könntest du diese Option ja auch verwenden Servereinstellungen vornehmen zu können.