1
Возможно ли перезапустить приложение qt после его сбоя? Как и те службы Windows, которые будут перезагружаться самостоятельно. Если да, то как я могу это сделать? Я попробовал такой код:Как перезапустить приложение qt после сбоя?
#define RESTART_CODE 1000
int main(int argc, char *argv[])
{
int return_from_event_loop_code;
QPointer<QApplication> app;
QPointer<MainWindow> main_window;
do
{
if(app) delete app;
if(main_window) delete main_window;
app = new QApplication(argc, argv);
main_window = new MainWindow(app);
return_from_event_loop_code = app->exec();
}
while(return_from_event_loop_code==RESTART_CODE)
return return_from_event_loop_code;
}
Но это не работает ... Что я должен делать?
Обычно подход здесь должен иметь какой-то процесс сторожевого. Он должен быть независим от процесса сбоя, очевидно –
Вы * можете * сделать это в Windows (искать «структурированную обработку исключений»), но в целом это не отличная идея - что, если ваше приложение рушится при его запуске? Он может легко застревать в цикле старта/аварии/запуска. – MrEricSir
Ваш код не будет работать, если ваше приложение выйдет из строя из-за ошибки сегментации ... – Venemo