AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1732573
Accepted
szofar
szofar
Asked: 2022-07-20 16:37:38 +0800 CST2022-07-20 16:37:38 +0800 CST 2022-07-20 16:37:38 +0800 CST

为什么当我运行命令时我的计算机仍处于睡眠状态?

  • 772

在 Windows 10 上cmd.exe,我输入了一个format D: /P:3命令来格式化我的 1TB 外部磁盘。该过程开始运行,我在 10 分钟左右完成 1% 后离开了我的计算机。

在 30 分钟时,我的电脑决定我什么都不做,然后让自己进入睡眠状态,从而中断了格式化过程。

我很不高兴。

此后,我应用了通常的方法来摄取咖啡因,并在我再次运行此过程时强制计算机保持清醒。但是,它在我的脑海中提出了一个在网上很难搜索到的问题:

为什么 Windows(或与此相关的任何操作系统)无法将打开的命令提示符应用程序的 shell 中正在运行的进程识别为保持清醒的正当理由?

看视频让事情保持清醒,在键盘上移动鼠标/打字让事情保持清醒......为什么不在用户打开的命令提示符应用程序中输入用户输入的命令?

是否有一些出色的逻辑支持排除这一点的原因,或者只是多年来通过继承延续下来的另一种愚蠢的设计选择?

command-line sleep
  • 3 3 个回答
  • 58 Views

3 个回答

  • Voted
  1. Daniel B
    2022-07-22T03:10:37+08:002022-07-22T03:10:37+08:00

    因为在任何时候都有数十甚至数百个进程正在运行(尽管它们可能处于空闲状态)。通常,不能(可靠地)区分哪些进程应该让 PC 保持清醒。但是对于使用 PC 的人来说,这通常很容易——因为他们还有一条 PC 没有的信息:意图。他们知道他们为什么要这么做。

    因此,程序本身负责抑制睡眠,而不是操作系统。视频、VoIP 通话、PowerPoint 幻灯片等等。基本系统工具(如format)可能跟不上这种变化。

    • 1
  2. John
    2022-07-20T17:09:35+08:002022-07-20T17:09:35+08:00

    (A)第一个问题是:经过一段空闲时间后,计算机进入睡眠状态。

    这一点也不稀奇。

    Excel、Word 或任何可以运行的程序,所有进程都在运行。所发生的一切是 Windows 进入暂停,暂停(停止)正在运行的应用程序或进程。(Zoom、You Tube、视频除外)

    当我挂起 Windows 时,我总是在 Windows 应用程序和 VMware(它挂起正在运行的机器)中看到这一点。

    我在不使用计算机(或在暂停计时器间隔)和电池电量不足时都发生过这种情况。

    Windows 暂停一切(有一些值得注意的视频/音频例外)。

    这种情况是正常的。

    (B)这里的另一个问题似乎是如何让计算机保持清醒。

    这是通过电源管理完成的。

    如果您的电池健康,请将空闲时​​间设置为休眠 1 或 2 小时。

    如果插入交流电,请将空闲时​​间设置为从不。

    我使用阈值电池管理,让我的电脑插上电源,将挂起设置为从不,它始终处于开启状态。

    • 0
  3. Best Answer
    user1686
    2022-07-22T03:12:36+08:002022-07-22T03:12:36+08:00

    一般来说,如果没有做某事,就假设这不是一个深思熟虑的设计决定,而是缺乏它。有时可能是这样的功能被明确地排除在设计之外,但更常见的是它从来没有达到过“设计”——它可能在优先级列表中很靠后,它可能只在走廊里讨论过并被丢弃,否则它可能永远不会被提起。

    但是,在这种情况下,“按设计”的功能与您的帖子最初假设的功能不同 - 操作系统不会尝试将特定事物识别为视频播放,它依赖于明确的信息来源(直接用户输入,或者一个告诉它保持清醒的程序)。

    也就是说,程序通常必须告诉操作系统在某些特定操作发生时保持系统唤醒。例如,在 Windows 中,程序可以调用SetThreadExecutionState(),在 Linux 上,程序采用“挂起抑制剂”,在 Android 上,它使用“唤醒锁”。

    对于没有被编程为正确使用操作系统设施的应用程序,Linux 附带了 CLI“包装器”工具,可以在运行主应用程序之前执行此操作。例如,代替wget您运行gnome-session-inhibit wget,只要该程序正在运行,系统就不会挂起。(有点像“caffeinate”,但内联使用而不是外部开/关切换。)

    为什么不在用户打开的命令提示符应用程序中输入用户输入的命令?

    至于为什么在 cmd.exe 和 powershell 中没有使用唤醒锁——我们所能做的就是猜测和推测,但最可能的原因是从外部区分想要完成特定操作的命令会有些困难(例如格式,下载)从没有的命令(例如,如果你离开一个打开的git log运行并且它只是坐在那里)。

    图形应用程序也是如此——在必须保持唤醒状态的游戏和可以毫无问题地暂停的电子邮件应用程序之间没有明显的区别,尽管两者使用网络的速度相同;或者在必须保持清醒的视频播放器和可能被暂停的图片查看器之间,尽管两者都是全屏的。

    我怀疑通常情况下,它会导致误报,导致系统在应该暂停时保持清醒,而您的投诉只会被其他人对 Windows 增加电费的投诉所取代。

    (这已经是 Windows 10 的一个问题,因为它的内部 Windows 更新服务之一偶尔会获取唤醒锁并忘记释放它,导致系统永远不会进入睡眠状态,即使实际上没有执行任何操作。

    但也要考虑功能的维护成本:使用显式唤醒锁定仍然更容易解决此类问题,因为修复只影响被破坏的特定程序——而如果操作系统有一些启发式方法来猜测或检测空闲/活动程序,任何修复某些程序检测的更改都可能会破坏其他程序的检测。)

    • 0

相关问题

  • 如何使用键盘快捷键在 macOS 终端中选择一行?

  • 如何在 macOS 的终端中切换切换(连续性)?

  • Windows 上是否有可以通过 CMD 或 Powershell 提供加密安全随机字节的设备或可执行文件?

  • Python 的“pass”参数的批处理等价物是什么?

  • 禁用后无法启用 Microsoft Print to PDF

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve