我正在尝试使用以下命令计算出现在已加载了多少启动代理
查找/ System / Library / Launch * / Library / Launch *〜/ Library / Launch * -name' .plist'-exec sh -c'/ usr / libexec / PlistBuddy -c“打印标签“ {} &&回声{}'';' | grep -wf <(启动列表| grep -o“ \ S + .. $”)-A1
grep -B 1 -A 1“活动计数= 1 $” <<<“ $(launchctl dumpstate)”
,但未列出我正在寻找的那个。 正确吗?
答案 0 :(得分:0)
使用launchctl,您可以列出所有正在运行的 代理和守护程序,例如:
launchctl list
和
sudo launchctl list
请注意,这两个命令是不同的。
奇怪的是,运行sudo launchutil list
会打印出根守护进程,并且仅 根守护进程。
如果您在终端中运行命令,则将要先运行非sudo版本,因为如果不这样做,则sudo版本将创建一个根会话,这将强制版本1始终具有root特权。 !
如果您想找到此类代理或守护程序的文件路径,请this 可能会有帮助。
好吧,我不知道我怎么在您的问题的大标题中错过了“卸载”一词,但是...这是守护程序/代理想要隐藏的目录(从launchctl的手册页中复制) :
FILES
~/Library/LaunchAgents Per-user agents provided by the user.
/Library/LaunchAgents Per-user agents provided by the administrator.
/Library/LaunchDaemons System wide daemons provided by the administrator.
/System/Library/LaunchAgents OS X Per-user agents.
/System/Library/LaunchDaemons OS X System wide daemons.
答案 1 :(得分:0)
我也有同样的问题,this article was super helpful。我建议您通读它,但这是一个相关的代码段:
虽然枚举所有登录项对用户来说不是一件简单的事情,但管理员可以通过解析以下文件(如果存在)来做一些额外的工作:〜/ Library / ApplicationSupport / com.apple.backgroundtaskmanagementagent / backgrounditems .btm
与使用您喜欢的编辑器打开文件相比,解析该文件更为复杂。该文章链接到一个粘贴容器,但是此github repo是一站式商店。尽管如此,这篇文章还是很有帮助的。