Проверка «живости» Windows-приложения?

У меня есть Windows-приложение, работающее на дорогом оборудовании; это приложение умирает множеством творческих способов. Обычно когда он идет, процесс умирает полностью. Я написал небольшую программу мониторинга, которая ищет имя процесса в списке вещей, которые в данный момент выполняются, и это прекрасно работает для этих сбоев. Но иногда он просто перестает отвечать на запросы и требует завершения через диспетчер задач, но все еще «работает» в каком-то бесполезном смысле.

Я совершенно не знаком с Windows API, так что, возможно, это довольно натянуто, но могу ли я что-нибудь сделать, чтобы программно проверить «живучесть» других процессов? Или что я могу использовать, чтобы строить догадки? (Наблюдение за прекращением обработки событий от ОС или за остановкой всего доступа к диску/выделению памяти и т. д. и т. д.)

Предпочтительно, чтобы это было что-то, что я мог бы сделать с помощью модуля Python win32, но я разветвлю ко всему, что может успешно обнаружить, когда эта штука запирается. И я понимаю, что «живость» расплывчата, но я не хочу ничего исключать, особенно когда у меня нет никакого понимания того, как эта штука на самом деле терпит неудачу.

5
задан Jay Kominek 13 March 2012 в 20:09
поделиться