如何检查是否设置了启动服务的OS X“禁用”标志?

Modified on: Thu, 18 Apr 2019 16:00:03 +0800

根据launchctl的手册页(强调我的):

  

-w覆盖Disabled键并将其设置为false。在以前的版本中,此选项将修改配置文件。 现在,已禁用密钥的状态存储在磁盘上的其他位置。

因为.plist文件本身不再设置禁用标志的当前状态,所以检查Disabled键不再是判断是否准确的方法该服务将在下次启动时运行。

这个“磁盘上的其他地方”在哪里?更重要的是(更重要的是),如何检查是否设置了这个标志?

此外,是否可以将服务设置为在下次启动时运行而不用强制它立即启动(与launchctl load -w /Library/LaunchDaemons/my-service.plist)?

最佳答案

现在(截至10.6.x)禁用存储在/private/var/db/launchd.db/com.apple.launchd/overrides.plist中的条目如下:

<key>com.apple.AppleFileServer</key> <dict> <key>Disabled</key> <true/> </dict>

您可以解析此文件以查看哪些启动项被覆盖,但该文件仅设置为root访问权限(“-rw ------- 1根轮”),并且无法保证Apple赢了' t在10.7 ......

中再次改变事物的存储方式

此外,我不知道如何启用现有的launchd项目以在下次启动时加载而不立即加载它。 (如果它是一个新项目,没问题:确保它中的Disabled = false,并将其放入/ Library / LaunchDaemons。)


相关问答

添加新评论