【问题标题】:How to kill a System Extension or Network Extension?如何杀死系统扩展或网络扩展?
【发布时间】:2020-06-18 07:48:54
【问题描述】:

所以我正在用 Swift 构建一个带有网络扩展的 macOS 应用程序。经过一些测试,扩展仍然作为系统中的一个进程。我可以停止,也可以终止应用程序,但无法停止、终止或卸载网络扩展。网络扩展一次又一次地出现。

我重新启动了 macOS,但网络扩展仍然作为一个进程存在。如何将其从系统中完全删除?

【问题讨论】:

    标签: swift macos kill networkextension macos-system-extension


    【解决方案1】:

    您应该可以通过以下两种方法之一将其删除:

    【讨论】:

    • 您也可以在终端中使用“systemextensionsctl uninstall [teamid] [bundleid]”作为第一点。使用“systemextensionsctl list”查看当前启用的系统扩展。
    • 您可能需要在恢复模式终端中运行csrutil disable,然后才能使用systemextensionsctl uninstall 卸载。不要忘记使用csrutil enable 再次打开 SIP(​​系统完整性保护)。
    • @rmalviya 在不禁用 SIP 的情况下卸载并重新启动也应该可以工作,但该机制在某些操作系统版本中肯定存在错误。不过 10.15.6 似乎可靠。在最坏的情况下,您可以禁用 SIP,从 /Library/SystemExtensions/<UUID> 删除扩展名,编辑文件 /Library/SystemExtensions/db.plist 以从那里删除扩展名,然后重新启动,然后重新启用 SIP。
    • 在 macOS Catalina v10.15.6 中,systemextensionsctl 产生以下输出:At this time, this tool cannot be used if System Integrity Protection is enabled. This limitation will be removed in the near future. Please remember to re-enable System Integrity Protection!
    • /Applications 删除安装文件夹不会删除 Monterey 上的系统扩展。我把头撞在墙上,因为我的测试扩展不会在测试迭代之间更新。为了替换它,版本号必须更高,正如@rmalviya 所说...systemextensionsctl 将无法工作,除非您禁用 SIP
    猜你喜欢
    • 2014-07-13
    • 1970-01-01
    • 2014-07-26
    • 2020-05-02
    • 2010-12-15
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    相关资源
    最近更新 更多