Форум: "Основная";
Текущий архив: 2003.03.10;
Скачать: [xml.tar.bz2];
Вниззависание программы Найти похожие ветки
← →
Маришка (2003-02-27 15:01) [0]Хэлло! Не подскажете, как сделать так, что, если программа зависла, компьютер шел на перезагрузку? Если не трудно, то скиньте на e-mail.
← →
Smashish (2003-02-27 15:03) [1]нможно сервис повеситькоторый будет периодически проверять жива прога или нет
← →
Dms (2003-02-27 15:05) [2]предусмотреть в программе поток, который регулярно посылает сообщения другой программе-контроллеру. Как только долго сообщений нет, программа-контроллер думает, что исходня программа зависла и грузит комп заново.
← →
Маришка (2003-02-27 15:18) [3]Подскажите поконкретнее, пожалуйста.
← →
han_malign (2003-02-27 15:24) [4]> компьютер шел на перезагрузку?
- а зачем так сильно, обычно перезапускают программу
- если вам нужен Watch-dog, то он обычно апартный...
- у нас это делается через отдельный сервис, который периодически проверяет:
function _IsHanging(AHangTimeout: DWORD; AWnd: HWND): Boolean;
var
ReturnResult : DWORD;
begin
Result := SendMessageTimeout(AWnd, 0, 0, 0,
SMTO_NOTIMEOUTIFNOTHUNG, 1000 * FHangTimeout, ReturnResult) = 0;
end;
← →
Smashich (2003-02-27 15:27) [5]Есть отдельная программа(программа контролер) которая висит в памяти парралельно с твоей прогой.
Из основной программы контролеру посылаешь сообщения.
Если контролер длительное время не получает сигналы, то перегружает комп
← →
stream (2003-02-27 15:29) [6]1) Зачем перезагружать машину, если всего лишь зависла программа? Ее нужно попытаться терминировать из другого процесса.
2) Если висит не только программа, но и система, то програмно перезагрузить весьма и весьма проблематично
← →
Dms (2003-02-27 16:08) [7]Делали тут устройство под это дело. Висит на COM порте и ловит байты :) Байты кончились => комп висит => аппаратно перегружает комп методом замыкания контактов на материнской плате.
Работало надежно :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c