launchctl
Beheer Apple's launchd
manager voor launch daemons (systeembrede diensten) en launch agents (programma's per gebruiker).
launchd
laadt op XML gebaseerde *.plist
-bestanden die op de juiste locaties zijn geplaatst, en voert de corresponderende commando's uit volgens hun gedefinieerde schema.
Meer informatie: https://keith.github.io/xcode-man-pages/launchctl.1.html.
- Activeer een gebruikersspecifieke agent die in
launchd
moet worden geladen wanneer de gebruiker inlogt:
launchctl load ~/Library/LaunchAgents/{{my_script}}.plist
- Activeer een agent die root-rechten vereist om te kunnen werken en/of moet worden geladen wanneer een gebruiker inlogt (let op de afwezigheid van
~
in het pad):
sudo launchctl load /Library/LaunchAgents/{{root_script}}.plist
- Activeer een systeembrede daemon die moet worden geladen wanneer het systeem opstart (zelfs als er geen gebruiker inlogt):
sudo launchctl load /Library/LaunchDaemons/{{system_daemon}}.plist
- Toon alle geladen agenten/daemons, met de PID als het proces dat ze specificeren momenteel actief is, en de afsluitcode de laatste keer dat ze werden uitgevoerd terugstuurde:
launchctl list
- Een momenteel geladen agent ontladen, b.v. om wijzigingen aan te brengen (Let op: het plist-bestand wordt automatisch in
launchd
geladen na een herstart en/of inloggen):
launchctl unload ~/Library/LaunchAgents/{{my_script}}.plist
- Voer handmatig een bekende (geladen) agent/daemon uit, zelfs als dit niet het juiste moment is (Let op: deze opdracht gebruikt het label van de agent, in plaats van de bestandsnaam):
launchctl start {{script_bestand}}
- Beëindig handmatig het proces dat is gekoppeld aan een bekende agent/daemon, als deze actief is:
launchctl stop {{script_bestand}}