Ta bort en agent från lanseringen

Innehållsförteckning:

Anonim

De allra flesta Mac-användare behöver inte manuellt justera launch och launchctl, men det finns tillfällen då du avinstallerar eller slutar använda en app i Mac OS X och en serviceagent fortsätter att ladda in i onödan lanseras. Det här är irriterande, men dessa oseriösa agenter är lätta att ta bort via kommandoraden, så starta Terminal och så kör vi. Dessutom finns det situationer där avancerade användare kanske vill justera agenter som laddats in i launchd av någon anledning.I vilket fall som helst kommer vi att detaljera hur man listar objekt i launchd, hur man tar bort dem från lanserade i OS X, och även hur man laddar om agenter till launchd på Mac.

Du måste ha viss förståelse och bekvämlighet med att använda kommandoraden och terminalen för att använda detta korrekt, vilket gör detta idealiskt för mer avancerade användare som har kunskap om startdemoner och hur man spårar dem, vilket ibland bara är en fråga om att hitta en i Aktivitetsövervakningen i Mac OS X, eller genom att använda kommandot launchctl som vi kommer att diskutera inom kort. Om du bestämmer dig för att vända modifieringen kan du också ladda tjänsten eller demonen tillbaka till launchd med ett annat kommando, vilket effektivt ångrar det initiala borttagningssteget. Låt oss komma till det:

Ta bort lanseringsagenter och tjänster från lansering i OS X

Här är hur man tar bort en tjänst från lanseringen. Starta Terminal och använd sedan följande syntax med kommandot launchctl:

launchctl ta bort namn

Om jag till exempel vill ta bort en tjänst som heter "com.annoying.service" skulle syntaxen vara:

launchctl remove com.annoying.service

Du kan behöva prefixa kommandot med sudo för att ta bort tjänsten, i det här fallet skulle kommandot vara:

sudo launchctl remove com.annoying.service

Med sudo-prefixet måste du ange ett administratörslösenord innan kommandot kommer att köras.

Hur man ser vad som är laddat i launchd

Du kan också kontrollera vad som har laddats in i launched genom att använda följande kommandosträng:

launchctl list

Detta kommando listar alla agenter och jobb som är inlästa i launchd, så att du enkelt kan manipulera de agenter som körs. Eftersom den dumpar massor av information på skärmen på en gång, kanske du vill skicka den genom mer eller mindre kommandon som så:

launchctl list |mer

Detta låter dig trycka på returtangenten för att navigera långsammare genom listan.

Om du allmänt känner till tjänsten du letar efter kan du också använda "grep" för att hitta den exakta agenttjänsten, låt oss använda 'mdworker' som ett exempel::

launchctl list |grep mdworker

Detta skulle endast rapportera tillbaka följande 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

För vissa tjänster kan dumpning av listan också visa PID (process-ID) för den aktiva tjänsten.

Laddar in en agent tillbaka till launchd

Om du bestämmer dig för att återaktivera och ladda om en tjänst tillbaka till launchd, använd "load"-flaggan så här:

launchctl ladda com.example.service.to.load

Vissa agenter laddas direkt utan problem. För andra kan du behöva starta om Mac-datorn innan den laddade tjänsten kommer att fungera som avsett igen, men ibland räcker det också med att logga ut och in igen.

Ta bort en agent från lanseringen