Убийство неизвестного запуска демона

Я отлаживал демон запуска и каким-то образом создал его, которого я не могу ни убить, ни даже найти связанный с ним демон Label, Я знаю, что он работает, потому что он добавляет файл "hello world" каждые 10 секунд. Какие у меня есть варианты для отладки этого? Есть ли способ отменить, какой процесс выполняет сценарий оболочки?

Я пробовал:

  • launchctl unload все отредактированные.plists, которые все еще существуют
  • launchctl list | grep для всех ярлыков, которые я создал (я думаю!!)
  • перезапустил систему

Я перепробовал все предложения, размещенные здесь и в других местах.

Ссылка на страницу здесь

1 ответ

Решение

Поведение / видимость демона привязано к владельцу. Для системных демонов предпочтительный синтаксис (по состоянию на 2017 год):

  • любой .plist файл должен принадлежать пользователю root в /Library/LaunchDaemons или это может не загружаться правильно.
  • демоны начались (как root) с sudo launchctl load my_daemon.plist будет только с командой sudo launchctl list; также
  • демоны начались (как пользователь) с launchctl load my_daemon.plist будет только с командой sudo launchctl list

Если в любое время в прошлом load был вызван с -w флаг демон будет постоянно загружен даже после перезагрузки и потребует -w чтобы разгрузить его:

  • sudo launchctl load -w my_daemon.plist загрузить демон, и
  • sudo launchctl unload -w my_daemon.plist,

В случае вопроса демон, вероятно, был запущен с некоторой комбинацией sudo и / или -w а затем запросили /"остановили" без.

Другие вопросы по тегам