Я разрабатываю серверное приложение и хочу использовать SIGINT для уничтожения приложения. Хотя я знаю два способа, я не уверен, что это хороший способ убить это приложение.Что хорошего в использовании SIGINT для убийства приложения на C++?
Есть ли лучшие способы обработки SIGING?
int main() {
startServer();
1. while(true) {sleep(3); if(sigFlag) break;}
2. std::getline(std::cin, param);
stopServer();
return 0;
}
Как это ответить на вопрос? Он хочет убить процесс, а не обрабатывать попытки убийства. – wallyk
@wallyk, можете ли вы уточнить, где OP-состояния хотят уничтожить внешний процесс? Поскольку я (и, вероятно, этот ответ) прочитал вопрос, они хотят знать хороший способ обработки сигнала SIGINT в приложении C++ (не обрабатывать 'SIGINT' для отдельного процесса). ?? – txtechhelp
Также стоит отметить, что OP использует Windows, средство C 'signal' - это всего лишь половина уравнения; WINAPI имеет 'SetConsoleCtrlHandler', который обрабатывает события CTRL + C (системы POSIX, которые используют' signal', поймают сигнал 'SIGINT' на событии' CTRL + C', Windows должна установить 'SetConsolCtrlHandler'). – txtechhelp