我可以“休眠”程序吗?


17

是的,我知道休眠通常适用于计算机。(休眠意味着将程序存储器保存在磁盘中并能够以一致的方式还原它。)

但是,休眠程序可能非常有用。假设我想玩游戏,但是像firefox,acrobat之类的一些程序占用了500M的内存,因此我想释放它。关闭然后再启动可能很耗时,尤其是在无法存储会话数据的情况下。所以我去让他们冬眠。那么我有什么办法可以休眠程序?


您正在使用什么操作系统?
伊恩·C.

1
Windows 7,64位。我也重新标记了这个问题。
apoorv020 2011年

一个操作系统的不错的改进……
kokbira 2011年

2
相关(但没有答案)superuser.com/questions/170434/...
Sathyajith铢

Answers:


8

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

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


4

虽然这不是实际的休眠状态,但可以暂停该过程。它会立即停止使用CPU周期,但仍会使用内存。幸运的是,如果之后再启动任何占用大量内存的应用程序,则该内存将被交换为页面文件,因此这不是真正的问题。挂起的进程无法在重新启动\注销后幸免,但这足以玩游戏。

相关问题:挂起/恢复进程的简便方法?

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

  • SuspendThreadResumeThread函数对。

  • NtSuspendProcess Windows XP Sp0引入的此功能(未正式记录),此后适用于每个单个系统版本。

  • Microsoft提供的调试接口,使用DebugActiveProcessDebugActiveProcessStop函数。当调试器将自己附加到远程进程时,所有目标线程将立即挂起,直到调试器给出一个让其执行的标志。

有许多可用的工具可以挂起进程:

此外,资源监视器(Task Manager→交通Performance→交通Open Resource Monitor)在Windows Vista和更高的可以暂停\恢复处理:

资源监控器


0

尽管您关于会话数据的观点是正确的,但是“休眠”应用程序不会比关闭并重新启动它更快。一般来说,没有什么好处。


5
您以什么逻辑说休眠不会更快?休眠和还原操作系统比重新启动要快。
apoorv020 2011年

想想什么是冬眠。它需要将程序映像复制到硬盘,然后再将其复制回。关闭程序然后重新启动它仅需要硬盘复制它。Windows启动非常缓慢,原因不明。对于其他操作系统(例如Linux),至少在我尝试过的每个系统上,休眠和唤醒所花的时间都比关机和重新启动所需的时间更长。这很方便,但并不快。
CarlF 2011年

良好地启动某些程序会花费很多时间,尤其是Firefox。更不用说烦人了。
apoorv020 2011年

3
Closing the program and then restarting it only requires copying it from the hard disk. 您忘记在需要得到程序返回到它的状态时添加例如,重新打开了一堆浏览器标签的,在编辑器中打开文件,等等。
Synetech

-2

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


2
Windows 7中的用户帐户之间的切换不会休眠或以任何其他方式暂停非活动帐户中的活动。您可以通过在一个帐户中播放一些音频,然后切换到另一个帐户并观察音频继续播放来证明这一点。
我说恢复莫妮卡

Wellllllllll .....实际上,它确实停止绘制屏幕。
djsmiley2k-CoW
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.