当您打开 Mac 时,各种应用程序、加载项和不可见的后台进程开始自行运行。这通常是您想要的,但有时您可能会看到您不记得自己添加的项目正在运行。他们来自哪里?
有时,这些进程和 App 会导致问题,您需要移除它们,Mac 才能正常运行。即使没有问题,此类项目也会增加 Mac 的启动时间并可能降低性能,您需要确保您的 Mac 仅加载对您有用的项目。这是有关各种启动和登录项以及如何管理它们的快速入门。
登录项
MacOS 13 (Venutra) 或更高版本:打开系统设置并单击常规,然后单击登录项。您将看到每次登录时打开的应用程序列表,然后是允许在后台运行进程的应用程序列表,即使应用程序未运行(例如检查更新或同步数据)。
MacOS 12 (Monterey) 或更早版本:打开系统偏好设置并单击用户和组,然后单击登录项选项卡。您会看到每次登录时打开的应用程序(甚至文件和文件夹)列表。此列表对于 Mac 上的每个用户帐户都是不同的。
项目通常会出现在此列表中,因为您安装的应用程序将它们添加到了其中。大多数这样做的应用程序会先征求您的许可,或者在其设置中具有“登录时打开”或类似的复选框。在任何情况下,您都可以通过单击 (+) 按钮手动将项目添加到列表中,或者通过选择项目并单击减号 (-) 按钮来删除项目。您可能还需要登录您的 Mac 用户配置文件才能进行更改
StartupItems文件夹
早期版本的 macOS 依赖于两个文件夹——/Library/StartupItems 和 /System/Library/StartupItems——来保存启动 Mac 时指定加载的项目。Apple 现在不鼓励使用 StartupItems 文件夹,但一些旧应用程序可能仍会使用它们。
通常你的 /System/Library/StartupItems 文件夹应该是空的,但如果它包含你不再使用的东西,你可以将不需要的项目拖到废纸篓以防止它在你下次启动你的 Mac 时自动加载。
启动守护进程和代理
从 OS 10.4 Tiger 开始,Apple 为开发人员提供了另一种自动启动项目的机制:启动由launchd
进程控制的守护进程和代理。这为开发人员提供了更大的灵活性,但对用户而言透明度较低。
launchd
不是直接打开应用程序,而是加载特殊格式的 .plist 文档,这些文档指定应该启动什么以及在什么情况下启动。有时这些启动项会在后台持续运行,有时会按预定的时间间隔运行,有时会根据需要运行——例如,响应某个文件或文件夹发生更改等事件——然后退出。
launchd
使用的 .plist 文件可以占据三个文件夹中的任何一个,它们的位置决定了每个项目何时加载以及具有什么权限:
-
/Library/LaunchDaemons 和 /System/Library/LaunchDaemons 中的项目在 Mac 启动时加载,并以根用户身份运行。
-
/Library/LaunchAgents 和 /System/Library/LaunchAgents 中的项目在任何用户登录时加载,并以该用户身份运行。
-
/Users/[your-username]/Library/LaunchAgents 中的项目仅在该特定用户登录时加载,并以该用户身份运行。
不要更改系统文件:在这些文件夹中,位于 /System 文件夹中的两个( /System/Library/LaunchDaemons 和 /System/Library/LaunchAgents )用于作为 macOS 一部分包含的组件,您应该抵制诱惑移除或更改它们——它们可能对保持 Mac 正常运行至关重要。
根据需要修改其他文件夹:随意浏览其他文件夹中的文件以查看其中的内容。您可以修改它们——例如,禁用它们或更改它们运行的频率——但在您这样做之前,您应该了解一些关于它们如何工作的事情。
macOS 的一大烦恼是这些 .plist 文件的构建和维护。在 macOS 13 中,Apple 为开发人员提供了一种将这些帮助文件保存在应用程序包本身中的方法,因此当您删除应用程序时它们就会消失。它更简洁、更容易,但必须专门为 macOS 13 开发应用程序才能使用该系统,因此它成为常态还需要一段时间。
当您启动 Mac 或登录时,相关文件夹中的启动项将被加载(即向系统注册),除非它们设置了禁用标志。此后,即使您将启动项拖到废纸篓,它们的指令也会一直执行到您重新启动为止。要查看 Mac 上所有当前加载的启动项的列表,请打开终端(在 /Applications/Utilities 中)并键入launchctl list
,然后按 Return。
如果您想停止运行启动项目而无需重新启动,请打开终端应用程序并键入launchctl unload
后跟一个空格和启动项目的完整路径。例如,执行以下命令:
launchctl 卸载 ~/Library/LaunchAgents/com.apple.FolderActions.enabled.plist
它卸载启用 AppleScript 文件夹操作的启动代理。使用load
而不是unload
重复命令以将其重新打开。
提示:添加项目完整路径的一种简单方法是将项目从 Finder 拖到终端窗口。
因为大多数启动项按计划或按需运行,并且因为它们中的任何一个都可以被禁用,所以某个文件夹中存在某些内容并不一定意味着它管理的进程当前正在运行。要查看当前正在运行的内容,请打开 Activity Monitor——但请记住,Activity Monitor 中显示的给定进程的名称可能与告诉 macOS 启动它的 .plist 文件的名称不同。
神秘过程的其他解释
尽管这些方法是在 macOS 中自动启动应用程序的最常见方法,但它们并不是唯一的方法。如果您有一个无法在这些地方找到的神秘过程,它也可能是以下之一:
内核扩展:内核扩展或 .kext 文件位于 /System/Library/Extensions 中并在启动时加载。它们提供低级功能,例如处理音频和添加对外围设备的支持。Mac 上的大多数 kexts 都是 macOS 的一部分。删除第三方 kext 最安全的方法是运行开发人员提供的卸载程序。
Cron:Cron
是 macOS 中内置的 Unix 调度实用程序。它或多或少不再用于支持launchd
,但你永远不知道在经过大量更新或运行旧软件的 Mac 上可能会挥之不去的是什么。
登录脚本:登录脚本,如启动项,曾在旧版本的 macOS 中使用,但现在已弃用。
免责声明
部分内容(图片、文章)翻译/转载自国内外资讯/自媒体平台。文中内容不代表本站立场,如有侵权或其它,请联系 macmao.com@gmail.com,我们会第一时间配合删除。(转载请注明来源自:www.macmao.com)