Woordenlijst/Processen die je tegenkomt

launchd

Kort antwoord

launchd is het eerste proces dat macOS bij het opstarten start, met proces-ID 1. Het start en beheert de achtergrondvoorzieningen, agents en veel andere processen die op het systeem en voor elke gebruiker draaien.

Als de Mac opstart, start de kernel launchd, en launchd start bijna al het andere. Het start ook voorzieningen op aanvraag, bijvoorbeeld als een app erom vraagt, en herstart systeemvoorzieningen die onverwacht stoppen.

In Activiteitenweergave zie je meestal één launchd, die met PID 1. Die gebruikt normaal heel weinig CPU en geheugen.

Waarom launchd veel CPU gebruikt

launchd doet zelf zelden zwaar werk. Lijkt het druk, dan start het vaak steeds opnieuw processen, bijvoorbeeld een achtergrondonderdeel dat crasht en telkens opnieuw wordt gestart.

Zoek in Activiteitenweergave naar een proces dat steeds verschijnt en weer verdwijnt, of kijk in Systeeminstellingen, Algemeen, Inlogonderdelen en extensies welke achtergrondonderdelen mogen draaien. Een achtergrondonderdeel uitschakelen dat je niet nodig hebt, is een veilige eerste stap.

Waarom je launchd niet moet stoppen

De systeem-launchd is de ouder van het hele systeem. Die kan niet op de normale manier worden gestopt, en het stoppen van een gebruikers-launchd zou je sessie beëindigen. Los liever het proces op dat hij steeds opnieuw start.

Zo vind je het inlogonderdeel achter launchd

Lijkt launchd druk, dan is de echte vraag wat het steeds opnieuw start. Kijk eerst naar de achtergrondonderdelen die je hebt toegestaan.

  1. Kies Apple-menu > Systeeminstellingen, klik op ‘Algemeen’ in de navigatiekolom en klik daarna op ‘Inlogonderdelen en extensies’.
  2. Loop de onderdelen na die bij het inloggen openen en de lijst met apps die op de achtergrond mogen draaien. Alles wat je niet herkent of niet meer gebruikt, komt in aanmerking.
  3. Schakel een voor een onderdelen uit en let op launchd in Activiteitenweergave. Daalt het CPU-gebruik, dan heb je het onderdeel gevonden.
  4. Hoort het onderdeel bij een app die je nog gebruikt, werk de app dan bij of kijk in de eigen instellingen ervan. Gebruik je de app niet meer, verwijder hem dan met zijn eigen verwijderprogramma als hij er een heeft.

Zo herken je een dienst die steeds opnieuw start

Een dienst die crasht en opnieuw wordt gestart, zie je als een proces dat even in Activiteitenweergave verschijnt, verdwijnt en terugkomt met een nieuwe PID. Als je het tabblad CPU sorteert op PID, hoogste eerst, vang je ze makkelijker, omdat elke herstart een hoger nummer krijgt.

In Terminal toont launchctl list de taken die launchd voor je account heeft geladen, in drie kolommen: de PID als de taak draait, de laatste afsluitstatus en het label. Een streepje in de eerste kolom betekent dat de taak nu niet draait. Een negatieve status is het signaal dat de taak heeft gestopt, en veel taken van Apple tonen er een omdat macOS inactieve diensten bewust stopt, dus een status die niet nul is, is op zich geen probleem.

Voor een label dat je verdenkt, voer je launchctl print gui/$(id -u)/<label> uit. De uitvoer bevat een regel runs: het aantal keren dat launchd de taak heeft gestart. Blijft dat getal elke keer dat je kijkt stijgen, dan zit de taak in een herstartlus. Deze opdrachten lezen alleen informatie.

Waar achtergrondonderdelen van derden staan

launchd leest taakdefinities uit een paar mappen. De eigen taken van Apple staan in /System/Library/LaunchAgents en /System/Library/LaunchDaemons, en die laat je met rust. Onderdelen die door andere apps zijn geïnstalleerd, staan meestal in deze mappen:

  • ~/Library/LaunchAgents: agents alleen voor je eigen gebruikersaccount.
  • /Library/LaunchAgents: agents voor elke gebruiker, geïnstalleerd door een beheerder of een installatieprogramma.
  • /Library/LaunchDaemons: daemons voor het hele systeem, geïnstalleerd door een beheerder of een installatieprogramma.

Daemons, agents en XPC-diensten

launchd voert een paar soorten taken uit, en de namen zie je terug in Activiteitenweergave en in de uitvoer van launchctl. Een daemon is een dienst voor het hele systeem, met één exemplaar voor iedereen op de Mac, en toont geen interface. Een agent draait apart voor elke ingelogde gebruiker en kan met die gebruiker communiceren.

launchd beheert ook XPC-diensten: kleine hulpprogramma’s die in apps en frameworks zijn meegeleverd. Als een app werk aan een ervan overdraagt, start launchd die op aanvraag, en verschijnt hij in Activiteitenweergave als eigen proces. Dat is een van de redenen waarom processen met onbekende namen komen en gaan terwijl je een app gebruikt.

Vragen die mensen stellen

Wat is launchd op de Mac?

Het is de voorzieningenbeheerder van macOS. Het is het eerste proces dat bij het opstarten start, en het start en bewaakt de meeste andere processen.

Waarom zijn er meerdere launchd-processen?

Er is er één voor het systeem (PID 1) en er zijn extra exemplaren voor gebruikerssessies. Dat is normaal.

Kan ik launchd geforceerd stoppen?

Nee. Het draait de rest van het systeem. Lijkt het druk, zoek dan naar een achtergrondonderdeel dat steeds opnieuw start.

Is launchd een virus?

Nee. launchd hoort bij macOS en draait altijd als PID 1. Malware kan eigen taken toevoegen die launchd moet starten, daarom is het een goede gewoonte om Inlogonderdelen en extensies na te lopen.

Wat toont launchctl list?

Elke taak die launchd heeft geladen, met de PID als hij draait, de laatste afsluitstatus en het label. Labels noemen meestal het bedrijf en het product, zodat je ziet welke app de taak heeft geïnstalleerd.

Kan ik onderdelen veilig uit LaunchAgents verwijderen?

Alleen voor apps die je herkent en niet meer gebruikt, en het is beter om het onderdeel uit te schakelen in Inlogonderdelen en extensies of het verwijderprogramma van de app te gebruiken. Verwijder nooit iets uit de mappen in /System.

Gerelateerd

Stap voor stap: Waarom gaat mijn Mac niet in sluimerstand.

Op zoek naar iets beters dan Activiteitenweergave? Bekijk de beste alternatieven voor Activiteitenweergave op de Mac, of blader door alle begrippen in de woordenlijst.