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

start [/forum/topic.php?fid=57&tid=2019242]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 166ms |

| 0 / 0 |
