Найти - Пользователи
Полная версия: [windows] Проверка "зависания" процесса
Начало » Python для экспертов » [windows] Проверка "зависания" процесса
1
Cleric
Из скрипта с помощью os.execl запускается программа, так как эта она часто вылетает сразу после запуска (появляется стандартное виндовое окно с информацией об ошибке), приходится через некоторое время проверять, не зависла ли она, и если это так, перезапустить.
Вопроса два, осуществима ли в принципе проверка на зависание процесса в винде?
Если да, то примерное направление, в котором стоит копать?
bw
Твой приложение? Пингуй. Сотню вариантов можно придумать. Пусть она с интервалом пишет что-нибудь в stdout, а ты наблюдай за её выходом и делай соответствующий выводы, если долго ничего нет (для win должно быть консольным). Если у приложения есть оконные объекты (win, с др. не работал), можно попробовать через соответствующую систему сообщений определить, жива ли собака.

..bw
Cleric
приложение не моё
igor.kaist
Можно посылать сообщения окну, и если программа не отвечает (зависла), в титле (черт, забыл как это будет по русски), к имени программы добавится “(не отвечает)”, что отследить можно.
pyuser
Посмотрите ветку http://python.su/forum/viewtopic.php?id=2599 (пост 9), там реализован примитивный контроль зависания приложения.
Хотя, если я Вас правильно понял, зависания нет, произошла ошибка и приложение ждет Вашей реакции, т.е. все работает :)
Cleric
pyuser, вы меня правильно поняли, изменяюсь за дезинформацию
к сожалению контроль зависания в функции TerminateApplication не подходит, именно из-за того что мне нужен не контроль зависания, а определение вылета программы (окошко с системным сообщением). И вообще возможно ли определить что приложение вылетело?
bw
Опять диза.
Это не “вылет”, что за слово вообще. Приложение, с точки зрения системы, работает. Отслеживай окна приложения с некоторым интервалом. При появлении “нужного” реагируй, например снятием приложения. Определить можно по заголовку, к примеру. Всё это не имеет непосредственного отношения к Python, читай winapi, ну и, на специализированных форумах тебе помогут больше.

..bw
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB