Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как имитировать зависание
|
|||
|---|---|---|---|
|
#18+
Отлаживаю программу-сторож. Она следит, запущена или нет другая программа (программа-цель). Если программа-цель не запущена, то моя программа ее запускает. Также она должна отследить зависание программы-цели. Если та зависла (стала потреблять немеряно ресурсов), то нужно ее убить и запустить по-новой. Кое-что я сделал. Если руками закрываю программу-цель, то моя программа ее перезапускает. Теперь мне нужно эмулировать зависание программы-цели. Т.е. какую-то exe-заглушку. Есть идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 16:51 |
|
||
|
Как имитировать зависание
|
|||
|---|---|---|---|
|
#18+
Для простоты лучше их называть Master-процесс и Slave/Worker процессы. Насчёт зависания... это сложно определять. Ведь зависнувшая программа внешне мало чем отличается от любой другой. Можно в нее внедрить некий счётчик который будет монотонно расти и спулить его в один файл (var/logs/slave01.counter). Счётчик должен охватывать весь workflow алгоритма. А мастер будет поглядывать туда и смотреть есть ли изменения счётчика за минуту времени к примеру. Насчёт потребления ресурсов - тут проще. Надо только задать метрики. Сколько и чего считать порогом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 17:09 |
|
||
|
Как имитировать зависание
|
|||
|---|---|---|---|
|
#18+
maytonНасчёт потребления ресурсов - тут проще. Надо только задать метрики. Сколько и чего считать порогом.Это да. А вот вроде бы в винде (а речь о ней) есть механизм счетчиков. Я хотел попробовать через виндовые счетчики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 17:16 |
|
||
|
Как имитировать зависание
|
|||
|---|---|---|---|
|
#18+
Хм.. в MSDN всё меньше и меньше кода на С++ поиск выдаёт. Вот есть примерчик. Можно попробовать его взять за шаблон. http://msdn.microsoft.com/en-us/library/aa384724(v=vs.85).aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 17:31 |
|
||
|
Как имитировать зависание
|
|||
|---|---|---|---|
|
#18+
бУРовКое-что я сделал. Если руками закрываю программу-цель, то моя программа ее перезапускает. Теперь мне нужно эмулировать зависание программы-цели. Т.е. какую-то exe-заглушку. Есть идеи? Sleep() или если нужно именно программу -- можно соорудить небольшой батник с pause 'Press any key' и запускать cmd.exe ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2013, 18:32 |
|
||
|
Как имитировать зависание
|
|||
|---|---|---|---|
|
#18+
бУРов Есть идеи? А какая у вас операционака? Если Unix / Linux , то там уже готовый сторож есть в ОС, называется init. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 12:30 |
|
||
|
Как имитировать зависание
|
|||
|---|---|---|---|
|
#18+
Не надо отслеживать зависание. Не надёжно. Надо тупо рестартовать через фиксированные интервалы времени. В микроконтроллерах вообще внешние аппаратные схемы рестартуют процессор по таймеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2013, 04:22 |
|
||
|
Как имитировать зависание
|
|||
|---|---|---|---|
|
#18+
Dmitry V. LiseevНе надо отслеживать зависание. Не надёжно. Надо тупо рестартовать через фиксированные интервалы времени. В микроконтроллерах вообще внешние аппаратные схемы рестартуют процессор по таймеру.Постойте. Ведь если программа зависла, то ее сначала нужно "убить" и только после этого рстартовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2013, 12:05 |
|
||
|
Как имитировать зависание
|
|||
|---|---|---|---|
|
#18+
бУРовDmitry V. LiseevНе надо отслеживать зависание. Не надёжно. Надо тупо рестартовать через фиксированные интервалы времени. В микроконтроллерах вообще внешние аппаратные схемы рестартуют процессор по таймеру.Постойте. Ведь если программа зависла, то ее сначала нужно "убить" и только после этого рстартовать.Сначала вежливо предложить закрыться самой. Если за таймаут не завершилась, то сурово убивать и стартовать новую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2013, 15:43 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=68&tid=2019821]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
54ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 318ms |
| total: | 472ms |

| 0 / 0 |
