macOS系统自带的命令,它的作用主要是利用系统提供的Assertion(断言)机制,来禁止系统的一些操作,比如进入睡眠或者关闭屏幕;很多软件使用Assertion机制来提供不间断的功能,比如iTunes持续的播放音乐,或者远程管理员的远程控制操作等等,而caffeinate命令是给用户一个接口来自主产生 各种Assertions。
- 首先,默认的macOS系统不会直接使用caffeinate命令来实现阻断休眠功能
- 先查看用户启动项,如果有自己不熟悉的或者是相关的,先删除。
- 在活动监视器(Activity Monitor)中,查找到所有caffeinate的实例,然后强制停止. 这部分可以参考官文:欢迎使用 Mac 上的活动监视器 - Apple 支持
- 如果依然有问题,就要进入终端程序执行命令,比如执行命令行:
sudo killall caffeinate
重新启动一次系统后,再次观察它是否还会自动运行
既然macOS系统不会自动运行这个命令,而它被运行了,那么背后肯定有什么原因,这才是你需要特别注意的。比如,最近自己是不是安装过什么软件、电脑是不是借给他人用过,有没有其他用户使用过等等,如果排除了一些自己的原因,那么就要考虑外部原因。如果是公司电脑,那么可能是管理员的设置,为了安全起见,最好和你的管理员沟通是不是他们特定的计划/操作。
无法睡眠的机器有什么问题吗?可能的问题是,不睡眠就可以持续被访问或者对外提供服务,比如从外部访问你的文件共享,或者smb/vns等服务,或者是复制本机的文件到指 定的外部等等,这些操作都可能在不被用户感知的情况下进行。所以一定要提高警惕。
排错是一个漫长需要细心耐心的过程,对于普通用户也是比较困难的事情,所以最简单的是:备份数据后,抹除系统后重新安装macOS,在恢复数据的时候,不要全部恢复,而是 只恢复个人的有用数据;杜宇有经验的人来说有很多技术需要考虑,比如用户级别的还是全局的自动运行,比如对软件的甄别,比如使用ps命令查看它的执行具体情况等等,
ps aux
ps auxE
也可以使用一个免费的软件来查看可能的问题,EtreCheck是个第三方的免费软件,它在英语的Apple论坛中被推荐过,你可以试试,让它来全面分析一下。当然,是否相信一个第三方软件还是要取决于你自己,本人于该软件无任何关系 ,如果想看看如何操作,也可以参考我的blog(macOS: 使用EtreCheck搜集系统信息以自检和获得生成报告 - CSDN博客),它是针对于就一个版本的,但至少给你一点感官的认识。
最后:
最近看到一些疑似被入侵的例子,如果可能,可以把自己的发现分享到这里,更多的分享可以提醒他人。