В OS X Yosemite (10.10) есть ли способ удалить параметр включения/отключения переопределения для службы?launchctl - удалить включено/отключено override
Например, чтобы окончательно отключить несуществующий сервис «тест» для суперпользователя, сделайте следующее:
sudo launchctl disable user/0/test
Убедитесь, что он был добавлен в список инвалидов:
sudo launchctl print-disabled user/0
Результат:
disabled services = {
"test" => true
}
login item associations = {
}
Теперь, как я могу удалить «тест» из списка отключенных служб?
(я знаю, что могу позволить, но я просто хочу, чтобы удалить запись целиком.)
Примечание:
Если я перезагрузить компьютер, я вижу, что «тест» переопределение была добавлена к launchd disabled
файла:
sudo cat /var/db/com.apple.xpc.launchd/disabled.0.plist
Результат:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>test</key>
<true/>
</dict>
</plist>
Я попытался запустить эту команду, чтобы вручную удалить его из файла .plist
:
sudo /usr/libexec/Plistbuddy /var/db/com.apple.xpc.launchd/disabled.0.plist -c Delete:test
Это удалит его из файла, но он просто возвращается снова, когда я перезагрузить компьютер. Есть идеи?
Вот обсуждение на тему: http://comments.gmane.org/gmane.comp.sysutils.launchd.devel/117 –