Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Следим за работой программы 
:(
    Опции темы
AHTUxPK
Дата 30.1.2012, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 1.9.2011
Где: Пятигорск

Репутация: нет
Всего: нет



Всё ещё продолжаю разработку программы для серверов CS, в той теме мы разобрались, как запустить программу и потом её мягко закрыть, теперь я хочу сделать отслеживание, работает ли запущенная программа, чтобы следить не упал ли какой-то из серверов. Сначала в голову пришла идея отслеживать просто по условию существует ли hwnd у программы. Для этого я сделал маленький код:
Код

Private Sub Timer1_Timer()
If pID > 0 And GetWinHandle(pID) = 0 Then запускаем_программу_заново
End Sub

То есть таймер каждые несколько секунд (например 10) проверяет, есть ли pID (а если сервер запускался из программы, то pID есть) и определяет его hwnd, у мёртвого процесса определится 0, и вот тогда запускается заново сервер. Если консоль сервера закрыть, то всё отлично запускается. Но если консоль просто выдала ошибку или зависла, то hwnd у неё остаётся. После некоторых раздумий и переговорами с одним человеком, мы пришли к идеи отслеживать работает ли сервер по порту, по идее когда сервер зависает или падает - порт закрывается. Но как это осуществить программно?
Нужно: при запуске сервера отследить какой он открыл порт (ну или у уже запущенного определить) и отслеживать, не закрылся ли порт, если закрылся - запустить сервер.

Или подскажите, как ещё можно отследить не зависла ли программа? 

Заранее спасибо!

UPD, как только создал тему, другой знакомый написал, что у зависшего сервера порт всё равно держится открытым, так что ищу другие идеи, как отслеживать, жива ли программа.

Это сообщение отредактировал(а) AHTUxPK - 30.1.2012, 15:47
PM MAIL WWW ICQ   Вверх
Akina
Дата 30.1.2012, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(AHTUxPK @  30.1.2012,  16:40 Найти цитируемый пост)
у зависшего сервера порт всё равно держится открытым

При обращении клиента по порту сервер должен дать определённый ответ. Зависший сервер его не даст.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
AHTUxPK
Дата 30.1.2012, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 1.9.2011
Где: Пятигорск

Репутация: нет
Всего: нет



А не знаете ли какие-нибудь альтернативные способы узнать, не зависла ли программа? Не хочется почему-то связываться с портами и т.п.
PM MAIL WWW ICQ   Вверх
Akina
Дата 30.1.2012, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Достоверно - нет. Процесс можно утопить в суспензии - и для всех это будет вполне нормальный беспроблемный процесс... только он ни хрена не делает.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
AHTUxPK
Дата 2.2.2012, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 1.9.2011
Где: Пятигорск

Репутация: нет
Всего: нет



Нашёл я тут в инете сборник кс мониторингов для сайта, кто может из него вытащить кусочек кода, который отвечает за определение онлайн сервер или нет?
Вот он

Это сообщение отредактировал(а) AHTUxPK - 13.2.2012, 10:26
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0994 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.