launchctl: любой способ отключить демон после удаления файла plist?

12

Я пытался навсегда отключить сторонний демон, поэтому я удалил его plist-файл из / Library / LaunchDaemons--, а потом понял, что не сделал launchctl unload на это сначала; попытка после факта выдает «Нет такого файла или каталога / ничего не найдено для выгрузки». И, конечно, демон перезапускается, поэтому, когда я его убиваю, он воссоздается.

Я пытался делать launchctl list в надежде получить этикетку для использования для launchctl remove но демон больше не указан.

Если не считать перезагрузки, есть ли способ запустить, чтобы забыть о демоне и / или пересмотреть файлы конфигурации?

jhfrontz
источник
Документация неясна, но launchctl kill com.example.product похоже на работу.
Abhi Beckert

Ответы:

16

Чтобы увидеть ВСЕ работающие демоны, вам нужно набрать:

sudo launchctl list

И тогда вы можете удалить его, например:

sudo launchctl remove com.sassafras.KeyAccess.daemon
Dan
источник
Да, я думаю, если вы не root, он показывает только демонов, запущенных для / как пользователь?
jhfrontz
2
Это на самом деле не работает для меня. Записи возвращаются при перезагрузке.
Dmitry Minkovsky
3
@dimadima Вы удалили связанные файлы списков? Команды, предоставленные Дэном, манипулируют только текущим состоянием (которое сбрасывается при следующей загрузке на все, что находится в / Library / LaunchDaemons).
jhfrontz
@jhfrontz Да, я уже понял, что ты должен это сделать. Спасибо.
Dmitry Minkovsky
1
Если это кому-нибудь поможет, на самом деле всегда есть несколько уникальных списков. У всех пользователей в каталоге есть свои, хотя, вероятно, наиболее релевантны пользователь root и зарегистрированный пользователь. Вы можете видеть всех пользователей, у которых есть процессы с sudo ps aux или как вы предпочитаете использовать sudo launchctl asuser [UniqueID] launchctl list чтобы увидеть список для каждого пользователя.
David Smith