Видалити агента з launchd
Зміст:
Переважній більшості користувачів Mac не потрібно буде вручну налаштовувати launchd і launchctl, але бувають випадки, коли ви видаляєте або припиняєте використовувати програму в Mac OS X, а агент служби продовжує без потреби завантажувати launchd. Це дратує, але цих шахрайських агентів легко видалити за допомогою командного рядка, тож запустіть термінал і ми йдемо. Крім того, є ситуації, коли досвідчені користувачі можуть забажати налаштувати агенти, завантажені в 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 видалити com.annoying.service
З префіксом sudo вам доведеться ввести пароль адміністратора, перш ніж команда буде виконана.
Як побачити, що завантажено в launchd
Ви також можете перевірити, що завантажено в launchd, використовуючи такий командний рядок:
launchctl list
Ця команда містить список усіх агентів і завдань, завантажених у launchd, що дозволяє вам легко керувати запущеними агентами. Оскільки він одночасно виводить на екран масу інформації, ви можете пропустити її через більш-менш команди, наприклад:
launchctl list |більше
Це дозволяє натискати клавішу повернення, щоб повільніше переміщатися по списку.
Якщо ви загалом знаєте службу, яку шукаєте, ви також можете використовувати «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, використовуйте позначку «load» так:
launchctl load com.example.service.to.load
Деякі агенти завантажуються миттєво без проблем. Для інших можливо знадобиться перезавантажити Mac, перш ніж завантажена служба знову запрацює належним чином, хоча іноді також достатньо вийти з системи та знову ввійти.