Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.11.2014, 12:11
|
|||
|---|---|---|---|
Можно ли как то сделать пинг процесса ? Определить, что он завис. |
|||
|
#18+
Можно только теорию или список функция, или готовое решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2014, 12:58
|
|||
|---|---|---|---|
|
|||
Можно ли как то сделать пинг процесса ? Определить, что он завис. |
|||
|
#18+
Windows для этого использует SendMessageTimeout(). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2014, 13:25
|
|||
|---|---|---|---|
Можно ли как то сделать пинг процесса ? Определить, что он завис. |
|||
|
#18+
Dimitry SibiryakovWindows для этого использует SendMessageTimeout(). а как hwnd получить по id процесса ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2014, 13:32
|
|||
|---|---|---|---|
Можно ли как то сделать пинг процесса ? Определить, что он завис. |
|||
|
#18+
gera3323Dimitry SibiryakovWindows для этого использует SendMessageTimeout(). а как hwnd получить по id процесса ? Например, FindWindow. Только учти, что далеко не у всех процессов есть окна. Так что таким образом можно определить только работоспособность оконных приложений. Работоспособность абстрактного процесса нельза вообще никак оценить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2014, 13:35
|
|||
|---|---|---|---|
|
|||
Можно ли как то сделать пинг процесса ? Определить, что он завис. |
|||
|
#18+
gera3323а как hwnd получить по id процесса ? EnumWindows() + GetWindowProcessThreadId(). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2014, 17:07
|
|||
|---|---|---|---|
Можно ли как то сделать пинг процесса ? Определить, что он завис. |
|||
|
#18+
gera3323, имеется в виду процесс-приложение в Win32 (Wndproc) циклом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.11.2014, 19:06
|
|||
|---|---|---|---|
Можно ли как то сделать пинг процесса ? Определить, что он завис. |
|||
|
#18+
gera3323Можно только теорию или список функция, или готовое решение.В общем случае: нельзя. Можно "в главном цикле" процесса предусмотреть функцию проверки "а не пингуют ли меня?" и отвечать соответственно. Можно сделать функцию которая периодически будет кидать наружу что-либо. Либо в лог писать "я еще живой", либо кидать udp пакет на предопределенный порт и если там есть монитор, то он будет подхватывать эту посылку и сообщать юзеру что главный процесс еще не завис. Главный секрет в том чтобы процесс не замыкался в себе. Без подобной подготовки определить что процесс завис можно пожалуй только опосредованно - если в течении некоего таймаута процесс не обращался ни к одной функции ОС, то можно предположить что что-то там произошло нехорошее. Но в то-же время процесс может и просто сидеть считать что-нибудь большое типа перемножения матриц... SendMessageTimeout() это как раз пример "а не пингуют ли меня?". Эта функция кладет в очередь процесса сообщение и ждет пока процесс прочитает это сообщение. Если прочитал, значит главный цикл процесса (который в WndProc) еще работает. Но и соответственно если у процесса нету WndProc - эта функция становится бесполезной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2019242]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 11ms |
| total: | 134ms |

| 0 / 0 |
