从启动中删除代理

目录:

Anonim

绝大多数 Mac 用户不需要手动调整 launchd 和 launchctl,但有时当您在 Mac OS X 中卸载或停止使用应用程序时,服务代理会继续不必要地加载发射。这很烦人,但这些流氓代理很容易通过命令行删除,所以启动终端然后我们走吧。此外,在某些情况下,高级用户可能出于某种原因想要调整加载到 launchd 中的代理。无论如何,我们将详细介绍如何在 launchd 中列出项目,如何在 OS X 中将它们从 launchd 中删除,以及如何在 Mac 上将代理重新加载到 launchd。

You'll need to have some understanding and comfort of using the command line and Terminal to use this,这对于了解启动守护进程以及如何跟踪它们的更高级用户来说是理想的选择,有时,只需在 Mac OS X 的活动监视器中找到一个,或者使用我们稍后将讨论的 launchctl 命令即可。如果您决定撤消修改,您还可以使用另一个命令将服务或守护程序加载回 launchd,这会有效地撤消初始删除步骤。让我们开始吧:

从 OS X 中的启动中删除启动代理和服务

这里是如何从launchd中删除服务。启动终端,然后使用以下语法和 launchctl 命令:

launchctl 删除名称

例如,如果我想删除名为“com.annoying.service”的服务,语法为:

launchctl 删除com.annoying.service

您可能需要在命令前加上sudo 以删除服务,在这种情况下,命令将是:

sudo launchctl remove com.annoying.service

使用sudo前缀,您必须在命令执行前输入管理员密码。

如何查看launchd中加载的内容

您还可以使用以下命令字符串检查加载到launchd中的内容:

launchctl列表

这个命令列出了所有加载到launchd中的agents和jobs,让你可以轻松的操作正在运行的agents。因为它会立即将大量信息转储到屏幕上,所以您可能希望通过或多或少的命令将其通过管道传输,如下所示:

launchctl 列表 |更多

这让您可以按返回键更慢地浏览列表。

如果您大致了解您要查找的服务,您也可以使用“grep”找到精确的代理服务,我们以'mdworker'为例::

launchctl list |grep mdworker

This would report back only the following launchagents:

- 0 com.apple.mdworker.sizing - 0 com.apple.mdworker.single - 0 com.apple.mdworker.shared - 0 com.apple.mdworker .mail - 0 com.apple.mdworker.lsb - 0 com.apple.mdworker.isolation - 0 com.apple.mdworker.bundles - 0 com.apple.mdworker.32bit

对于某些服务,转储列表可能还会显示活动服务的PID(进程ID)。

将代理加载回launchd​​

如果您决定要重新启用服务并将其重新加载回launchd,请像这样使用“加载”标志:

launchctl load com.example.service.to.load​​

有些代理会立即加载而不会出现问题。对于其他人,您可能需要在加载的服务再次按预期运行之前重新启动 Mac,但有时注销并重新登录也足够了。

从启动中删除代理