Files
tldr/pages/osx/launchctl.md
2016-09-14 17:29:12 +01:00

33 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# launchctl
> A command-line interface to Apple's `launchd` manager for launch daemons (system-wide services) and launch agents (per-user programs).
> `launchd` loads XML-based `*.plist` files placed in the appropriate locations, and runs the corresponding commands according to their defined schedule.
- Activate a user-specific agent to be loaded into `launchd` whenever the user logs in:
`launchctl load ~/Library/LaunchAgents/{{my_script}}.plist`
- Activate an agent which requires root privileges to run and/or should be loaded whenever any user logs in (note the absence of `~` in the path):
`sudo launchctl load /Library/LaunchAgents/{{root_script}}.plist`
- Activate a system-wide daemon to be loaded whenever the system boots up (even if no user logs in):
`sudo launchctl load /Library/LaunchDaemons/{{system_daemon}}.plist`
- Show all loaded agents/daemons, with the PID if the process they specify is currently running, and the exit code returned the last time they ran:
`launchctl list`
- Unload a currently loaded agent, e.g. to make changes (note: the plist file is automatically loaded into `launchd` after a reboot and/or logging in):
`launchctl unload ~/Library/LaunchAgents/{{my_script}}.plist`
- Manually run a known (loaded) agent/daemon, even if it isnt the right time (note: this command uses the agent's label, rather than the filename):
`launchctl start {{my_script}}`
- Manually kill the process associated with a known agent/daemon, if it's running:
`launchctl stop {{my_script}}`