Журнал и контроль

Восстановление после сбоя: один экземпляр, понятное сообщение при занятом порту, паузы между попытками и аккуратное завершение

Выключили «Восстановление после сбоя» — программа больше не открывается сама после закрытия. Второй экземпляр не запускается, а при занятом порту выводится понятное сообщение.

  • Выключатель работает. Настройка «Восстановление после сбоя» теперь сразу останавливает надзирателя, оставшегося от прошлого запуска. Раньше закрытие через крестик и «Закрыть программу» открывало программу заново, даже если восстановление было выключено. Окно закрытия честно говорит, что будет.
  • Один экземпляр. Если программа уже запущена, второй запуск её не дублирует: надзиратель понимает, что экземпляр уже работает, и не убивает его. Если порт 8766 занят другой программой, выводится понятное сообщение вместо молчаливого падения.
  • Паузы между попытками. После быстрых падений подряд надзиратель ждёт 10, затем 30, затем 60 секунд, потом делает длинную паузу, а не перезапускает программу без остановки.
  • Корректное завершение. Перед выходом программа останавливает потоки камер (RTSP-соединения закрываются), модули получают сигнал остановки (закрываются COM-порты и процессы записи), ожидание ограничено 3 секундами; порт освобождает система.