gpt4 book ai didi

linux - 如何在 PC 处于 sleep 模式时保持 C++ 代码运行?

转载 作者:太空宇宙 更新时间:2023-11-04 11:46:08 24 4
gpt4 key购买 nike

我有一个计时器的基本 C++ 代码,它在代码运行且 PC 没有休眠时完美运行。我希望它即使在电脑进入休眠模式后也能继续运行。有可能吗?我正在运行 Linux。

最佳答案

如果你的意思是暂停到 ram暂停到磁盘 sleep 模式(ACPI 电源状态 S1 到 S4)那么这是不可能的。 cpu 在这些模式下不仅空闲而且不处理任何东西。您需要唤醒计算机(ACPI S0 状态)。

Wikipedia article引用 ACPI 规范(ACPI 规范修订版 5.0 - 2011 年 12 月 6 日):

"Power on Suspend (POS): Processor caches are flushed, and the CPU(s) stops executing instructions. The power to the CPU(s) and RAM is maintained. Devices that do not indicate they must remain on may be powered off" (emphasis by me)

但是,如果您打算在计算机空闲时运行脚本,情况就不同了。在此上下文中,空闲意味着 PC 处于 ACPI 状态 S0,但此时 CPU 没有任务。 CPU,或者更确切地说是它的核心,将被设置为电源管理C state C0和C6之间。控制这些州的州长将根据需要非常快速地在 C 州和 P 州之间切换。当 CPU 空闲时间更长时,它将被发送到下一个更深的 C 状态。

您不必对此电源状态管理做任何事情。您操作系统的调度程序和 ondemand governor会处理这个。您可能想阅读如何以一种在不需要时不唤醒 CPU 的方式编写脚本。

关于linux - 如何在 PC 处于 sleep 模式时保持 C++ 代码运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57709563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com