Как принудительно удалить программы из файла подкачки после завершения ресурсоемкой партии?

StackOverflow https://stackoverflow.com/questions/2498483

Вопрос

В ночное время мы используем настольные компьютеры сотрудников для моделирования, интенсивно использующего процессор.На настольных компьютерах используется Windows — обычно Windows XP.Сотрудники не выходят из системы, они просто блокируют рабочие столы, выключают мониторы и уходят.

У каждого сотрудника есть файл конфигурации, который он может редактировать, чтобы указать, когда его, скорее всего, нет на работе.Когда это время приходит, фоновая программа получает данные для моделирования с сервера, запускает рабочие процессы, наблюдает за ними, получает результаты и отправляет их на сервер.По истечении времени, указанного сотрудником, моделирование прекращается, чтобы не мешать нормальному использованию рабочего стола.

Проблема в том, что моделирование потребляет много памяти, поэтому при запуске рабочих процессов они принудительно помещают другие программы в файл подкачки.Поэтому, когда приходит сотрудник, все программы, которые он оставил, работают медленно и медленно, пока он не откроет их одну за другой, чтобы они не выкачались.

Есть ли способ, которым программа может заставить другие программы покинуть файл подкачки, когда она останавливает симуляцию, чтобы они снова работали без сбоев?

Это было полезно?

Решение

Прокрутите системные и пользовательские процессы, начиная с того, который использует больше всего памяти (кроме фонового приложения) или того, который больше всего используется сотрудником, и отправьте этому процессу сообщение WM_ACTIVATEAPP сообщение.Это должно иметь тот же эффект, что и «щелчок» по значку окна приложения указанного процесса на панели задач.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top