如何查找并删除没有 .plist 的 LaunchAgent

如何查找并删除没有 .plist 的 LaunchAgent

我的 macOS (v11.2.1) 有许多不需要的 LaunchAgent 随系统一起加载,导致系统臃肿。其中一些我能够成功删除(只需找到它们的 .plist)。但是,对于其他一些,我无法简单地识别它们在启动过程中的加载方式,因为它们没有可识别的 .plist。

这篇文章专门针对 VoxAgent(由 Vox 音乐播放器推出,www.vox.rocks),但这种烦恼也发生在其他应用程序中(CleanMyMac X,Hazel......)

我可以使用 终止该服务launchctl remove com.coppertino.VOXAgent,但每次系统启动时,该服务都会再次启动(即使我不启动 Vox 播放器)。我真正想要的是一劳永逸地摆脱这样的 LaunchAgent,这就是为什么我需要您的帮助。

重新启动后,以下是我目前采取的步骤:

(1)

launchctl list在终端上运行,其输出为:

PID Status  Label
855 0   com.coppertino.VOXAgent

(2)

我检查了以下文件夹是否存在任何.plist:

~/Library/LaunchAgents
/Library/LaunchAgents
/Library/LaunchDaemons
/System/Library/LaunchAgents
/System/Library/LaunchDaemons

未发现与 com.coppertino.VOXAgent 相关的 .plist。

(3)

在终端上我运行launchctl blame gui/$(id-u)/com.coppertino.VOXAgent,结果返回:
semaphore

(4)

在终端上我运行launchctl dumpstate | grep -A4 " = {" | grep -B 3 -A 3 -E "active count = [1-9]"并返回(仅显示与 VoxAgent 相关的内容):

com.apple.xpc.launchd.domain.pid.om.coppertino.VOXAgent.640 = {
    type = process
    handle = 640
    active count = 33
    on-demand count = 1
--
    security context = {
--

com.coppertino.VOXAgent = {
    active count = 4
    copy count = 0
    one shot = 0
    path = (submitted by otherbsd.426)
--
--
        runatload = 0
--

(5)

尝试使用 AppCleaner 卸载 Vox 时,以下是与该软件相关的文件列表的快照:

https://i.stack.imgur.com/dxPeT.png


因此,令我感到惊讶的是,VoxAgent 以及其他一些令人讨厌的无法识别的 LaunchAgents(CleanMyMacX、Hazel……)并没有显示 .plist 的真实路径,而只是显示path = (submitted by otherbsd.426)。这就是为什么我很难阻止这个 VoxAgent 在 macOS 上加载。

其他可能有用的信息(来自终端的输出):

id
uid=501(a) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),703(com.apple.sharepoint.group.3),702(com.apple.sharepoint.group.2),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae),704(com.apple.sharepoint.group.4),701(com.apple.sharepoint.group.1)
launchctl version                                                                                                           
Darwin Bootstrapper Version 7.0.0: Mon Dec 21 20:06:28 PST 2020; root:libxpc_executables-2038.80.3~7/launchd/RELEASE_X86_64

除了上述步骤之外,我已经检查了系统偏好设置中的“用户和组 > 登录项”以及“扩展”。那里也没有任何可以调用 VoxAgent 的内容。

我确信还有很多人遇到同样的问题。我在 StackOverflow 上查看了很多帖子,但还没有找到解决方案。

提前感谢您的任何提示!

答案1

我在另一个应用程序中也遇到了同样的问题。以下是我发现的:

在 Mac 中如何秘密启动 Agent? - Apple 社区

添加登录项 - Apple Developer Archive

根据上述内容,添加登录项有两种方法:使用服务管理框架,并使用共享文件列表. 使用服务管理框架添加的登录项只可以被应用程序本身删除。

我也想知道是否有办法禁用它们,因为它们太烦人了。如果有办法,也请告诉我。

目前我正在使用另一个启动脚本来杀死启动项。这可以解决问题,但我认为这不是一个好主意。

相关内容