我可以让程序“休眠”吗?

我可以让程序“休眠”吗?

是的,我知道休眠通常适用于计算机。(休眠的意思是将程序内存保存在磁盘中,并能够以一致的方式恢复它。)

但是,让程序休眠非常有用。假设我想玩游戏,但 Firefox、Acrobat 等几个程序占用了 500M 内存,所以我想释放它。关闭然后启动可能很耗时,尤其是在无法存储会话数据的情况下。所以我选择让它们休眠。那么,有什么方法可以让程序休眠吗?

答案1

有一个相关问题在 StackOverflow 上了解一下。它与编程更相关,但主要接受的答案解释为什么您要做的事情很难,并提供了一个可行的替代方案。

基本上,在虚拟机中运行您的“业务”应用程序,并在您想要玩游戏时暂停/休眠/关闭它。

答案2

虽然这不是真正的休眠,进程可以被暂停。它将立即停止使用 CPU 周期,但仍将使用内存。幸运的是,如果您随后启动任何内存密集型应用程序,这些内存将被交换到页面文件,因此这不是一个真正的问题。暂停的进程无法在重启/注销后继续存在,但这足以玩游戏。

相关问题:轻松暂停/恢复某个进程?

在内部,进程暂停可以通过不同的方法实现

  • 暂停线程恢复线程函數對。

  • NtSuspendProcess该功能(未正式记录)已在 Windows XP Sp0 中引入,并且可在此后的每个系统版本上运行。

  • Microsoft 提供的调试接口,使用调试活动进程调试活动进程停止功能。当调试器将自身附加到远程进程时,所有目标线程都会立即暂停,直到调试器发出允许它们执行的信号。

有许多可用的工具可以暂停进程:

此外,Windows Vista 及更高版本中的资源监视器( Task ManagerPerformanceOpen Resource Monitor) 可以暂停\恢复进程:

资源监控

答案3

“休眠”应用程序不会比关闭并重新启动应用程序更快,尽管您关于会话数据的观点是正确的。一般来说,这样做不会带来太多好处。

答案4

由于您使用的是 Windows,因此您可以始终创建两个用户帐户,并使用 Windows 中的快速帐户切换功能,并将每个帐户用于不同的应用程序集。由于 Windows 几乎使计算机上打开的其他视图处于休眠状态。我认为是这样。

相关内容