Ordlista/Processer du kommer att se
launchd
Kort svar
launchd är den första process macOS startar vid uppstart, med process-ID 1. Den startar och hanterar bakgrundstjänster, agenter och många andra processer som körs i systemet och för varje användare.
När datorn startar startar kärnan launchd, och launchd startar nästan allt annat. Den startar också tjänster vid behov, till exempel när en app ber om en, och startar om systemtjänster som oväntat stoppas.
I Aktivitetskontroll ser du oftast en enda launchd, den med PID 1. Den använder normalt väldigt lite processor och minne.
Varför launchd visar hög CPU-användning
launchd gör sällan tungt arbete själv. När den verkar upptagen startar den ofta processer om och om igen, till exempel ett bakgrundsobjekt som kraschar och startas om gång på gång.
Leta i Aktivitetskontroll efter en process som hela tiden dyker upp och försvinner, eller öppna Systeminställningar, Allmänt, Startobjekt och tillägg för att se vilka bakgrundsobjekt som får köras. Att stänga av ett bakgrundsobjekt du inte behöver är ett säkert första steg.
Varför du inte ska avsluta launchd
Systemets launchd är förälder till hela systemet. Den går inte att avsluta på vanligt sätt, och om du stoppar en launchd för en användare avslutas din session. Åtgärda i stället processen som den hela tiden startar.
Så hittar du startobjektet bakom launchd
När launchd ser upptagen ut är den egentliga frågan vad den hela tiden startar. Kontrollera först de bakgrundsobjekt du har tillåtit.
- Välj Apple-menyn > Systeminställningar, klicka på Allmänt i sidofältet och klicka sedan på Startobjekt och tillägg.
- Gå igenom objekten som öppnas vid inloggning och listan över appar som får köras i bakgrunden. Allt du inte känner igen eller inte längre använder är en kandidat.
- Stäng av ett objekt i taget och följ launchd i Aktivitetskontroll. Om dess processoranvändning sjunker har du hittat objektet.
- Om objektet hör till en app du fortfarande använder uppdaterar du appen eller tittar i dess egna inställningar. Om du inte längre använder appen avinstallerar du den med dess eget avinstallationsprogram om den har ett.
Så upptäcker du en tjänst som hela tiden startar om
En tjänst som kraschar och startas om syns som en process som dyker upp i Aktivitetskontroll en kort stund, försvinner och kommer tillbaka med ett nytt PID. Om du sorterar fliken Processor efter PID, högst först, blir de lättare att fånga, eftersom varje omstart får ett högre nummer.
I Terminal visar launchctl list de jobb som launchd har läst in för ditt konto i tre kolumner: PID om jobbet körs, dess senaste avslutsstatus och dess etikett. Ett streck i första kolumnen betyder att jobbet inte körs just nu. En negativ status är signalen som stoppade jobbet, och många av Apples jobb visar en sådan eftersom macOS stoppar overksamma tjänster med avsikt, så en status som inte är noll är i sig inget problem.
För en etikett du misstänker kör du launchctl print gui/$(id -u)/<label>. Utdata innehåller en runs-rad, antalet gånger launchd har startat jobbet. Om det numret fortsätter att stiga varje gång du tittar är jobbet fast i en omstartsloop. De här kommandona läser bara information.
Var bakgrundsobjekt från andra tillverkare finns
launchd läser jobbdefinitioner från några mappar. Apples egna jobb finns i /System/Library/LaunchAgents och /System/Library/LaunchDaemons, och dem ska du låta vara. Objekt som installerats av andra appar finns oftast i de här mapparna:
~/Library/LaunchAgents: agenter bara för ditt användarkonto./Library/LaunchAgents: agenter för alla användare, installerade av en administratör eller ett installationsprogram./Library/LaunchDaemons: daemoner för hela systemet, installerade av en administratör eller ett installationsprogram.
Daemoner, agenter och XPC-tjänster
launchd kör några olika sorters jobb, och namnen syns i Aktivitetskontroll och i utdata från launchctl. En daemon är en tjänst för hela systemet med en enda kopia för alla på datorn, och den visar inget gränssnitt. En agent körs separat för varje inloggad användare, och den kan interagera med användaren.
launchd hanterar också XPC-tjänster, små hjälpprogram som ingår i appar och ramverk. När en app lämnar över arbete till en av dem startar launchd den vid behov, och den visas i Aktivitetskontroll som en egen process. Det är en anledning till att processer med okända namn kommer och går medan du använder en app.
Frågor som folk ställer
Vad är launchd på Mac?
Det är tjänsthanteraren i macOS. Den är den första process som startas vid uppstart, och den startar och övervakar de flesta andra processer.
Varför finns det flera launchd-processer?
Det finns en för systemet (PID 1) och fler instanser för användarsessioner. Det är normalt.
Kan jag tvångsavsluta launchd?
Nej. Den driver resten av systemet. Om den verkar upptagen letar du efter ett bakgrundsobjekt som hela tiden startar om.
Är launchd ett virus?
Nej. launchd är en del av macOS och körs alltid som PID 1. Sabotageprogram kan lägga till egna jobb som launchd ska starta, och därför är det en god vana att gå igenom Startobjekt och tillägg.
Vad visar launchctl list?
Varje jobb som launchd har läst in, med PID om det körs, dess senaste avslutsstatus och dess etikett. Etiketter anger oftast företaget och produkten, vilket hjälper dig att se vilken app som installerade jobbet.
Är det säkert att ta bort objekt från LaunchAgents?
Bara för appar du känner igen och inte längre använder, och det är bättre att stänga av objektet i Startobjekt och tillägg eller använda appens avinstallationsprogram. Ta aldrig bort något från mapparna i /System.
Relaterat
Steg för steg: Varför går min Mac inte i viloläge.
Letar du efter något bättre än Aktivitetskontroll? Läs om de bästa alternativen till Aktivitetskontroll för Mac, eller bläddra bland alla begrepp i ordlistan.