Fjern en agent fra lancering
Indholdsfortegnelse:
Langt de fleste Mac-brugere behøver ikke manuelt at justere launch og launchctl, men der er tidspunkter, hvor du afinstallerer eller holder op med at bruge en app i Mac OS X, og en serviceagent fortsætter med at indlæse unødigt lanceret. Dette er irriterende, men disse useriøse agenter er nemme at fjerne via kommandolinjen, så start Terminal, og så går vi. Derudover er der situationer, hvor avancerede brugere måske ønsker at tilpasse agenter, der er indlæst i launchd, uanset årsagen.Under alle omstændigheder vil vi detaljere, hvordan man viser elementer i launchd, hvordan man fjerner dem fra launchd i OS X, og også hvordan man genindlæser agenter i launchd på Mac.
Du skal have en vis forståelse og komfort ved at bruge kommandolinjen og terminalen for at bruge dette korrekt, hvilket gør dette ideelt for mere avancerede brugere, der har kendskab til startdæmoner og hvordan man sporer dem, som nogle gange bare er et spørgsmål om at finde en i Activity Monitor i Mac OS X, eller ved at bruge launchctl-kommandoen, som vi diskuterer om kort tid. Hvis du beslutter dig for at vende ændringen, kan du også indlæse tjenesten eller dæmonen tilbage i launchd ved hjælp af en anden kommando, som effektivt fortryder det indledende fjernelsestrin. Lad os komme til det:
Fjerner Launch Agents & Services fra lanceret i OS X
Her er hvordan man fjerner en tjeneste fra lanceret. Start Terminal, og brug derefter følgende syntaks med kommandoen launchctl:
launchctl fjern navn
For eksempel, hvis jeg vil fjerne en tjeneste med navnet "com.annoying.service", vil syntaksen være:
launchctl fjern com.irriterende.service
Du skal muligvis præfikse kommandoen med sudo for at fjerne tjenesten, i dette tilfælde vil kommandoen være:
sudo launchctl fjern com.irriterende.service
Med sudo-præfikset skal du indtaste en administratoradgangskode, før kommandoen udføres.
Sådan kan du se, hvad der er indlæst i launchd
Du kan også tjekke, hvad der er indlæst i launched ved at bruge følgende kommandostreng:
launchctl list
Denne kommando viser alle agenter og job, der er indlæst i launchd, så du nemt kan manipulere de agenter, der kører. Fordi det dumper et væld af information på skærmen på én gang, vil du måske sende det gennem mere eller mindre kommandoer som f.eks.:
launchctl list |mere
Dette lader dig trykke på returtasten for at navigere langsommere gennem listen.
Hvis du generelt kender den service, du leder efter, kan du også bruge "grep" til at finde den præcise agenttjeneste, lad os bruge 'mdworker' som et eksempel::
launchctl list |grep mdworker
Dette ville kun rapportere følgende affyringsagenter:
- 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 nogle tjenester kan dumpning af listen også vise PID (proces-id) for den aktive tjeneste.
Loading an Agent Back into launchd
Hvis du beslutter dig for at genaktivere og genindlæse en tjeneste tilbage til launchd, skal du bruge "indlæs"-flaget som sådan:
launchctl load com.example.service.to.load
Nogle agenter indlæses øjeblikkeligt uden problemer. For andre skal du muligvis genstarte Mac'en, før den indlæste tjeneste vil fungere efter hensigten igen, selvom det nogle gange også er tilstrækkeligt at logge ud og ind igen.