Удаление агента из launchd

Оглавление:

Anonim

Подавляющему большинству пользователей Mac не нужно вручную настраивать launchd и launchctl, но бывают случаи, когда вы удаляете или прекращаете использовать приложение в Mac OS X, а сервисный агент продолжает без необходимости загружаться запуск Это раздражает, но этих мошеннических агентов легко удалить с помощью командной строки, поэтому запустите Терминал и понеслось. Кроме того, бывают ситуации, когда опытные пользователи по какой-либо причине могут захотеть настроить агенты, загруженные в launchd.В любом случае, мы подробно расскажем, как отображать элементы в launchd, как удалять их из launchd в OS X, а также как повторно загружать агенты в launchd на Mac.

Вам потребуется некоторое понимание и удобство использования командной строки и терминала, чтобы использовать это правильно, что делает его идеальным для более продвинутых пользователей, которые знакомы с демонами запуска и способами их отслеживания, что иногда достаточно просто найти в мониторе активности Mac OS X или с помощью команды launchctl, которую мы вскоре обсудим. Если вы решите отменить модификацию, вы также можете загрузить службу или демон обратно в launchd с помощью другой команды, которая эффективно отменяет начальный шаг удаления. Приступим к делу:

Удаление агентов запуска и служб из launchd в OS X

Вот как удалить службу из launchd. Запустите терминал, а затем используйте следующий синтаксис с командой launchctl:

launchctl удалить имя

Например, если я хочу удалить службу с именем «com.annoying.service», синтаксис будет следующим:

launchctl удалить com.annoying.service

Возможно, вам потребуется поставить перед командой префикс sudo, чтобы удалить службу, в этом случае команда будет выглядеть так:

sudo launchctl remove com.annoying.service

С префиксом sudo вам нужно будет ввести пароль администратора, прежде чем команда будет выполнена.

Как посмотреть, что загружено в launchd

Вы также можете проверить, что загружено в launchd, используя следующую командную строку:

launchctl list

Эта команда выводит список всех агентов и заданий, загруженных в launchd, что позволяет легко управлять запущенными агентами. Поскольку он выводит тонну информации на экран сразу, вы можете захотеть направить ее через более или менее команды, например:

launchctl list |more

Это позволяет нажимать клавишу возврата для более медленной навигации по списку.

Если вы знаете, какую службу вы ищете, вы также можете использовать «grep», чтобы найти конкретную службу агентов, давайте использовать «mdworker» в качестве примера::

launchctl list |grep mdworker

Это сообщит только о следующих запускающих агентах:

- 0 com.apple.mdworker.sizing - 0 com.apple.mdworker.single - 0 com.apple.mdworker.shared - 0 com.apple.mdworker .mail - 0 com.apple.mdworker.lsb - 0 com.apple.mdworker.isolation - 0 com.apple.mdworker.bundles - 0 com.apple.mdworker.32bit

Для некоторых служб при сбросе списка может также отображаться PID (идентификатор процесса) активной службы.

Загрузка агента обратно в launchd

Если вы решите повторно включить и перезагрузить службу обратно в launchd, используйте флаг «загрузить» следующим образом:

launchctl load com.example.service.to.load

Некоторые агенты загружаются мгновенно и без проблем. Для других вам может потребоваться перезагрузить Mac, прежде чем загруженная служба снова будет работать должным образом, хотя иногда достаточно выйти из системы и снова войти в нее.

Удаление агента из launchd