Windows XP - отслеживание процесса и повторный запуск процесса в случае сбоя - PullRequest
3 голосов
/ 09 ноября 2010

Это мой первый вопрос о Windows, поэтому извиняюсь, если это очевидно или плохо сформулировано.

У меня есть станция с сенсорным экраном, на которой работает Opera в Кисокмоде (http://www.opera.com/support/mastering/kiosk/), которая великолепна и отлично работает.

Я хочу иметь возможность отслеживать процесс Opera и перезапускать его в случае сбоя или закрытия.

Кто-нибудь может дать мне какое-то указание о том, как это можно сделать, или есть какое-либо готовое программное обеспечение, которое может сделать это для меня?

1 Ответ

5 голосов
/ 09 ноября 2010

Существует некоторое программное обеспечение для мониторинга процессов и их перезапуска, если они уничтожены:http://www.knas.se/Applications/Restarter.aspxhttp://drinkprog.com/kiwi/Одним из способов реализации такого программного обеспечения будет:1. Откройте дескриптор целевого процесса, который необходимо отслеживать, используя OpenProcess API с правами доступа SYNCHRONIZE.2. Дождитесь бесконечно этого дескриптора, используя WaitForSingleObject или WaitForMultipleObjects API.3. Если процесс завершится или будет убит, будет подано сообщение об ожидании (с кодом возврата WAIT_ABANDONED или WAIT_OBJECT_0).4. Закройте ручку.Перезапустите процесс и повторите вышеуказанные шаги.

...