我构建了一个提供 LaunchAgent 的应用程序(一个带有“托盘”图标的小型 UI 应用程序;假设在/Library/LaunchAgents/foo.plist
.
安装包时,launchctl 会自动加载此 LaunchAgent 描述并为所有登录用户启动进程。(即我不必像使用LaunchDaemons 那样使用launchctl load 来加载它)。
当我卸载软件包时,所有文件 - 包括 LaunchAgent plist 文件/Library/LaunchAgents
都被删除,但进程仍在运行。
(我有几个用户登录,所以这个代理有几个实例)
现在,我应该如何告诉 root launchd 在以 root 身份运行时停止这些进程(对于未指定数量的用户)?(注意,以 root 身份运行的 launchctl 甚至看不到这些代理)。
(pid-files,killall more-or-less-unique-executable-name
是最后的手段,我将这些解决方案作为最后的手段)