在 MacOS(或 Linux)的笔记本电脑睡眠模式期间,如何调查哪个进程会导致唤醒?

Soh*_* Si 5 linux power-management standby real-time-clock macos-mojave

我的 MacBook 在风扇活动频繁的情况下自发地从睡眠模式中唤醒。

我想在 RTC 或电源设置中对此进行调查吗?或者通过跟踪进程等(使用一些进程/内核魔法!)。

提示:它可能由“rtcwake”管理。

我什至不确定这是计划任务,还是来自 WiFi 唤醒,或其他什么。

我不想猜测通常在 Mojave 等中导致这种情况的原因。相反:我需要在我的 MacOS (Mojave) 上对此进行系统调查。与 Linux 相关的答案也很受欢迎。

这是关于系统待机、睡眠模式、暂停模式。(请注意,这与独立进程的启动和唤醒无关。整个笔记本电脑会自动开启。)

san*_*ica 1

这个答案是基于Linux的,所以它可能并不严格适用于Mac。要确定是否rtcwake对您的 MacOS 唤醒负责,您可以用一个包装脚本替换可执行文件(在我的 Ubutnu 中是),该脚本会留下已运行/usr/sbin/rtcwake的迹象,例如rtcwake

$ cd /usr/sbin/rtcwake
$ sudo mv rtcwake rtcwake_orig 
Run Code Online (Sandbox Code Playgroud)

然后编写/usr/sbin/rtcwake包含以下内容的脚本

#!/bin/bash
touch $HOME/rtcwake_ran
/usr/sbin/rtcwake_orig
Run Code Online (Sandbox Code Playgroud)

该脚本的变体取决于您的 shell。特别是,在最后一行中,您可能会rtcwake以某种替代方式运行,以便不拥有该进程 ( nohup/ disown)。请参阅https://unix.stackexchange.com/questions/152310/how-to- Correctly -start-an-application-from-a-shell


要检查唤醒的可能原因,您可以检查各种相关日志,网址为/var/log。例如syslog*,,,acpi*。另请参阅https://unix.stackexchange.com/questions/83036/where-is-the-log-for-acpi-events


你有wakeonlan