问题标签 [hibernation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
309 浏览

java - 从挂起/休眠状态恢复计算机后,如何告诉 ScheduledExecutorService 忽略重叠执行

我有一个线程负责每 10-15 分钟定期刷新一些远程服务查询响应缓存。

问题是当客户端的机器从睡眠中恢复时,刷新任务会执行睡眠时间/刷新周期时间,而不是只执行一次。

它不会使服务器或任何东西超载,但效率低下。我怎样才能防止这种情况发生?

0 投票
0 回答
95 浏览

java - 如何完全保存整个应用程序及其所有内存,然后重新加载?

在我开始之前,让我说这可能是这里问过的最荒谬的问题,因为我从来没有听说过这样的事情来知道它是否有可能。也就是说,如果可能的话,我想知道我该怎么做。

我正在运行一个 Java 程序,我希望能够保存它并稍后从保存中恢复,以减少启动时间。

保存时的应用程序状态还没有受到多个进程和用户的负担,但一旦恢复它就会准备好监听新用户。

我怎样才能

  • 保存应用程序及其所有使用的内存
  • 稍后加载整个应用程序,就在它离开的地方

或者这甚至可能吗?根据我对计算机休眠的了解,已经完成了类似的事情;保存在 RAM 中的数据被写入磁盘并稍后加载,但我不知道它是否可以在服务器甚至 PC 上。

0 投票
0 回答
459 浏览

.net - 应用程序未引发 Microsoft.Win32.SystemEvents.PowerModeChanged 事件

我写了一个简单的类来创建Microsoft.Win32.SystemEvents.PowerModeChanged事件的抽象,这是相关的代码:

问题是当我调用System.Windows.Forms.Application.SetSuspendState挂起或休眠系统时,SuspendInitiated我的类的事件没有引发。我尝试使用下面的代码通知 Suspend 状态,但没有任何反应,因为PowerModeChangedEventArgs.PowerModes属性的值永远不会发生,PowerModes.Suspend所以我的事件永远不会引发。

但是,当我恢复暂停状态时,我班级的其他事件SuspendResumed会正确通知我:

请注意 MSDN 文档说:

但是,一旦应用程序响应了挂起请求,它可能需要花费任何时间来清理资源并关闭活动进程。

我错过了什么?

更新

我注意到,如果我以正常行为挂起系统,我的意思是从 Windows 开始菜单,我会收到有关挂起的通知,但如果我使用该System.Windows.Forms.Application.SetSuspendState方法我不会收到通知,正如我所说,PowerModeChangedEventArgs.PowerModes属性的值永远不会是PowerModes.Suspend这个方式,为什么?

0 投票
2 回答
32637 浏览

powershell - 为睡眠和休眠设置单行 powershell 以关闭

我将如何正确编写此代码?我想一次设置多个电源选项以关闭休眠和睡眠模式。

0 投票
1 回答
118 浏览

c# - 来自 C# 的休眠与来自合上盖子的休眠 - 唤醒问题

我对休眠和唤醒事件有疑问。当我使用 C# 代码进入休眠状态时

Application.SetSuspendState(PowerState.Hibernate, true, false);

一切正常,计算机在事件中唤醒。问题是当我只是关闭具有休眠功能的盖子时。在这种情况下,计算机永远不会回来,启动它的唯一方法是按下电源按钮。当然,我可以将盖子关闭动作设置为无,并始终使用应用程序进入休眠状态,但这不是最好的解决方案。

我想知道这两种冬眠有什么区别。我认为这应该是相同的,但似乎不是。有没有办法修改盖子上的休眠操作,使其与从 C# 代码调用的操作相同?

0 投票
1 回答
1220 浏览

linux - ARM 上的休眠 Linux

我正在努力在 ARM 上实现休眠(挂起到磁盘),并通过使用Sebastian Capella 的 swsusp ARM 补丁成功地做到了这一点。现在我可以使用该命令使内核休眠(暂停到sd卡中的交换分区),echo disk > /sys/power/state系统将在下次开机时恢复其状态。但是,如果我再次按下重置,内核将遵循正常的引导顺序。

我的问题是如何使该区域中的交换区域和休眠图像永久化,以便在每次重置时它都会从该永久图像中唤醒?我已经给出了值,swapiness=0以便我希望在系统处于活动状态时不会再有任何页面交换。内核如何决定是正常启动还是从 ( resume=/dev/swap_partition) 休眠中唤醒?

我在互联网上进行了很多搜索,但对 Linux 内核如何从休眠中唤醒以及恢复一次后如何处理交换并没有清楚的了解。谢谢您的时间

我的内核版本是 3.14

0 投票
2 回答
3039 浏览

windows-10 - 防止 Windows 10 更新丢失我的休眠会话?

我在 Windows 10(操作系统内部版本 10586.218)上运行 Dell XPS 9350,并且遇到了以下问题:

  1. 运行各种应用程序、Chrome 等的 Windows 会话
  2. 我关闭笔记本电脑盖(电源选项配置为在此操作上休眠)
  3. 机器休眠
  4. 180 分钟后,机器休眠(电源选项也配置为使用电池执行此操作,因此是预期的)
  5. 我打开盖子,然后按电源按钮再次打开机器。
  6. Windows 开始启动,但屏幕显示正在安装的 Windows 更新的百分比!屏幕显示戴尔徽标,但我怀疑这只是 Windows 的 OEM 定制。在此步骤中可以看到鼠标光标。
  7. 安装更新后,我的休眠会话丢失- 我回到 Windows 的干净启动。

Windows 更新设置为自动。

很明显,这里有些不对劲!如果机器处于休眠状态,则重新打开电源时不应安装更新。

已在 Google 和这些论坛中进行搜索,但找不到其他人遇到此问题。

有谁知道如何阻止这种行为,或者它是某种 Windows 10 错误?

0 投票
1 回答
2484 浏览

c# - 如何使用卷主密钥 (VMK) 解密 BitLocker 驱动器?

这是一个愚蠢的问题。我真是个白痴。我的硬盘驱动器(内部硬盘驱动器)使用 BitLocker 加密。未设置密码,也未设置 48 位恢复密码。我设置的唯一密钥保护程序是恢复密钥文件 (.bek)。但我的 USB 记忆棒似乎无法正常工作,因此 BitLocker 不再读取和识别密钥。我也检查了身份证。他们是正确的钥匙。我在不同的 USB 记忆棒上尝试了密钥,但没有成功。我宁愿认为密钥文件已损坏/有缺陷。我唯一拥有的是全卷主密钥(VMK / FVEK)。为什么我有完整的音量主密钥?很久以前,我使用十六进制编辑器从休眠文件中手动提取了密钥。我在一张纸上打印出完整的主密钥,并将它们保存在一个文件中。Elcomsoft Forensic Disk Decryptor 似乎是适合我的工具。但我不会为此花 299 欧元。我测试了试用版。也许这里有一些经验丰富的程序员?我只需要一个简单的程序,其中必须输入完整的卷主密钥,例如,在文本字段中作为参数,当我单击一个按钮时,驱动器将使用卷主密钥解密。这一定是可能的。Elcomsoft Forensic Disk Decryptor 是唯一能满足我需求并且我能找到的工具。这里有人有什么想法吗?我不是编程专家。我用 C# 尝试了“Win32_EncryptableVolume”类:也许这里有一些经验丰富的程序员?我只需要一个简单的程序,其中必须输入完整的卷主密钥,例如,在文本字段中作为参数,当我单击一个按钮时,驱动器将使用卷主密钥解密。这一定是可能的。Elcomsoft Forensic Disk Decryptor 是唯一能满足我需求并且我能找到的工具。这里有人有什么想法吗?我不是编程专家。我用 C# 尝试了“Win32_EncryptableVolume”类:也许这里有一些经验丰富的程序员?我只需要一个简单的程序,其中必须输入完整的卷主密钥,例如,在文本字段中作为参数,当我单击一个按钮时,驱动器将使用卷主密钥解密。这一定是可能的。Elcomsoft Forensic Disk Decryptor 是唯一能满足我需求并且我能找到的工具。这里有人有什么想法吗?我不是编程专家。我用 C# 尝试了“Win32_EncryptableVolume”类:https://msdn.microsoft.com/en-us/library/windows/desktop/aa376483%28v=vs.85%29.aspx

问题是这些是解锁驱动器的唯一方法:

UnlockWithCertificateFile

使用提供的证书文件获取派生密钥并解锁加密卷。

UnlockWithCertificateThumbprint

使用提供的证书指纹获取派生密钥并解锁加密卷。

UnlockWithExternalKey

使用提供的外部密钥访问数据卷的内容。

用数字密码解锁

使用提供的数字密码访问数据卷的内容。

用密码解锁

使用密码来获取派生密钥。计算出派生密钥后,派生密钥用于解锁加密卷的主密钥。

我需要类似“UnlockWithVolumeMasterKey”的东西

“使用提供的 FVEK 访问数据卷的内容。”

我也尝试过“UnlockWithExternalKey”方法。但是我得到了相应的返回码/值/错误码。

https://msdn.microsoft.com/de-de/library/windows/desktop/aa376481%28v=vs.85%29.aspx

提前谢谢你的帮助。

0 投票
1 回答
284 浏览

linux - mlock() 如何与休眠一起工作?

引用 Linux 程序员手册 ( man 2 mlock):

mlock(), mlock2(), 并将mlockall()调用进程的部分或全部虚拟地址空间锁定到 RAM 中,防止该内存被分页到交换区域。

这对冬眠有什么作用?使用的进程mlock()可以完全休眠吗?从休眠状态恢复后的语义是什么?

0 投票
1 回答
736 浏览

android - 什么是 Android 进程“灰烬”以及如何防止它使我的应用程序休眠?(Android 7.0 打盹模式)

我编写了一个应用程序,只要它使用清单中声明并触发的广播接收器运行,它就需要每分钟唤醒一次,AlarmManager.setAlarmClock()因为它是唯一一个似乎可以在 Android 7+ 上运行且不受警报重复限制的确切解决方案。

我觉得我已经按照网络上的每一个提示(尤其是 SO)来保持我的应用程序运行,但迟早它会进入打瞌睡休眠状态,即使我将我的应用程序列入白名单Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS并且我正在使用安排下一个闹钟时,接收器内部的唤醒锁定。

负责“冻结”我的应用程序的进程是“ ash ”。我在哪里可以找到有关此过程的更多信息?它特定于制造商的操作系统吗?

如何禁用我的应用程序的打瞌睡/休眠?我一辈子都无法让这个该死的应用程序继续运行。任何提示表示赞赏!

使用的设备是带有Android 7.0的Huawei P8 lite 2017。由于源代码已经变得相当复杂,而且我认为我在代码方面所做的一切都是正确的,所以我现在不在这里发布任何代码。(不过,我会根据要求提供相应的代码示例。)

手头的问题似乎是操作系统本身的普遍问题,因为我读到很多人没有让它工作。(这太荒谬了……用设置精确计时器的能力来稍微提高电池寿命。为什么,谷歌?)

以下 catlog 输出显示了“ash”的动作;在这种情况下,它在正常工作大约半小时后冻结了我的应用程序大约半小时。我想当我再次打开并解锁手机时,该应用程序又继续工作了。