Премахване на агент от launchd
Съдържание:
По-голямата част от потребителите на Mac няма да трябва ръчно да настройват launchd и launchctl, но има моменти, когато деинсталирате или спрете да използвате приложение в Mac OS X и сервизен агент продължава ненужно да зарежда в launchd. Това е досадно, но тези измамни агенти са лесни за премахване чрез командния ред, така че стартирайте Terminal и тръгваме. Освен това има ситуации, при които напредналите потребители може да поискат да променят агентите, заредени в 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 (ID на процеса) на активната услуга.
Зареждане на агент обратно в launchd
Ако решите, че искате да активирате отново и презаредите услуга обратно в launchd, използвайте флага за зареждане по следния начин:
launchctl load com.example.service.to.load
Някои агенти ще се заредят незабавно без проблем. За други може да се наложи да рестартирате Mac, преди заредената услуга да функционира отново по предназначение, въпреки че понякога е достатъчно да излезете и да влезете отново.