Fjern en agent fra launchd
Det store flertallet av Mac-brukere trenger ikke manuelt å finjustere launchd og launchctl, men det er tider når du avinstallerer eller slutter å bruke en app i Mac OS X, og en serviceagent fortsetter å unødig laste inn launchd. Dette er irriterende, men disse rogue agenter er lett å fjerne via kommandolinjen, så start Terminal og vekk vi går. I tillegg er det situasjoner der avanserte brukere kanskje vil tweak agenter lastet inn i launchd uansett grunn. Under alle omstendigheter beskriver vi hvordan du lister elementer i launchd, hvordan du fjerner dem fra launchd i OS X, og også hvordan du laster om agenter til start på Mac.
Du må ha litt forståelse og komfort med å bruke kommandolinjen og Terminal for å bruke dette på riktig måte, noe som gjør dette ideelt for mer avanserte brukere som har kunnskap om lanseringsdemoner og hvordan man sporer dem, noe som noen ganger bare er et spørsmål om å finne en i Aktivitetsmonitoren for Mac OS X, eller ved å bruke kommandoen launchctl, diskuteres det snart. Hvis du bestemmer deg for å reversere modifikasjonen, kan du også laste tjenesten eller demonen tilbake til launchd ved å bruke en annen kommando, noe som effektivt eliminerer det første fjerningstrinnet. La oss få tak i det:
Fjerner lanseringsagenter og tjenester fra lansering i OS X
Slik fjerner du en tjeneste fra launchd . Start Terminal, og bruk deretter følgende syntaks med launchctl-kommandoen:
launchctl remove name
Hvis jeg for eksempel vil fjerne en tjeneste som heter "com.annoying.service", vil syntaksen være:
launchctl remove com.annoying.service
Du må kanskje prefikse kommandoen med sudo for å fjerne tjenesten, i dette tilfellet ville kommandoen være:
sudo launchctl remove com.annoying.service
Med sudo-prefikset må du skrive inn et administratorpassord før kommandoen skal utføres.
Hvordan se Hva er lastet i launchd
Du kan også sjekke hva som er lastet inn i launchd ved å bruke følgende kommandostreng:
launchctl list
Denne kommandoen viser alle agenter og jobber lastet inn i launchd, slik at du enkelt kan manipulere agenter som kjører. Fordi det dumper tonnevis med informasjon på skjermen samtidig, kan det være lurt å rør det gjennom mer eller mindre kommandoer som dette:
launchctl list |more
Dette gjør det mulig å treffe returknappen for å navigere langsommere gjennom listen.
Hvis du generelt kjenner tjenesten du leter etter, kan du også bruke "grep" for å finne den nøyaktige agenten service, la oss bruke "mdworker" som et eksempel:
launchctl list |grep mdworker
Dette vil kun rapportere om følgende lanseringsagenter:
- 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
For noen tjenester kan dumping av listen også vise PID (prosess-ID) for den aktive tjenesten.
Laster en agent tilbake i launchd
Hvis du bestemmer deg for å gjenopprette og laste om en tjeneste tilbake til launchd, bruk 'last'-flagget slik:
launchctl load com.example.service.to.load
Noen agenter vil laste øyeblikkelig uten problem. For andre må du kanskje starte Mac-maskinen på nytt før den lastede tjenesten fungerer som ønsket igjen, men det er også tilstrekkelig å logge ut og tilbake.