Мой первый подход заключался в непрерывном опросе списка процессов с использованием цикла while(true). Это работает и обнаруживает процесс быстро, но вызывает очень высокую загрузку процессора из-за занятого ожидания.
Использование time.sleep() в моем случае неприемлемо, поскольку даже небольшие задержки заметно снижают скорость обнаружения процесса.
Важные ограничения:
- Программа должна запускаться без прав администратора
- Только в пользовательском режиме
- Требуется очень быстрое (почти в реальном времени) обнаружение
- Очень быстро обнаруживает создание процессов
- Использует низкую загрузку ЦП
- Предпочтительно избегать жесткого цикла опроса
Подробнее здесь: https://stackoverflow.com/questions/798 ... -busy-loop
Мобильная версия