当资源密集型批处理完成时,如何强制程序退出交换文件?

时间:2010-03-23 08:40:54

标签: windows concurrency swap multitasking

我们使用员工的桌面在夜间进行CPU密集型模拟。桌面运行Windows - 通常是Windows XP。员工不会注销,只需锁定桌面,关闭显示器即可。

每个员工都有一个配置文件,他可以编辑该文件以指定何时最不可能离开办公室。当时间到来时,后台程序从服务器获取模拟数据,生成工作进程,监视它们,获取结果并将它们发送到服务器。当员工指定的时间过去时,仿真停止,以便不会干扰正常的桌面使用。

问题是模拟会消耗大量内存,因此当工作进程运行时,它们会强制其他程序进入交换文件。因此,当员工来到他所留下的所有程序时,他们都会变得懒散而缓慢,直到他一个接一个地打开它们,这样他们就不会被打开了。

程序是否有办法在停止模拟时强制其他程序退出交换文件,以便它们再次顺利运行?

1 个答案:

答案 0 :(得分:2)

循环访问系统和用户进程,从使用大多数内存(除了后台应用程序)或员工最常使用的内存开始,然后向进程发送WM_ACTIVATEAPP消息。这应该与在任务栏中“单击”所述进程的应用程序窗口图标具有相同的效果。