How to Stop Processes Run by “launchd” in Mac
To stop processes run by
launchd on a Mac, you typically use the
launchd is the service management framework used in macOS for starting, stopping, and managing daemons, applications, processes, and scripts. Here’s how to manage these tasks:
1. Identify the Process
First, you need to find the label or identifier of the process you want to stop. Processes managed by
launchd are defined in property list (.plist) files located in several directories:
~/Library/LaunchAgents: User-specific agents provided by the user.
/Library/LaunchAgents: Agents provided by administrators or the system for all users.
/Library/LaunchDaemons: System-wide daemons provided by administrators or the system.
/System/Library/LaunchDaemons: Apple-provided agents and daemons.
launchctl to Stop the Process
Once you’ve identified the process or service you want to stop, you can use the
launchctl command to stop it. You’ll need the label of the service, which is typically the name of the
.plist file without the
To unload (stop) a service, open the Terminal and use the following command:
launchctl unload /path/to/your.plist
For example, if you want to stop a user-specific agent:
launchctl unload ~/Library/LaunchAgents/com.example.myagent.plist
This command tells
launchd to stop managing the specified service, effectively stopping it if it’s currently running.
3. To Permanently Stop the Process
unload command stops the process but does not prevent it from reloading after a reboot. If the process is configured to start automatically, you might want to remove or disable its
- Remove: Simply deleting the
.plistfile will stop
launchdfrom loading the process in the future. Ensure you have a backup before deleting it.
- Disable: Some
.plistfiles, especially those in
/System/Library, should not be deleted. macOS Catalina and later versions with a read-only system volume make this especially complex. For these, you can often disable the service within the
.plistfile by setting the
<key>Disabled</key> <true/>After modifying the
.plistfile, you must unload and reload it for changes to take effect.
Note on System Integrity Protection (SIP)
On macOS Catalina and later, System Integrity Protection restricts what the root user can do, especially in system directories. Be cautious when modifying anything in
/sbin. If you need to modify these for legitimate reasons, you might have to disable SIP, which carries risks and is generally not recommended.
Stopping a process managed by
launchd involves identifying the process through its
.plist file and using
launchctl unload to stop it. Remember to exercise caution, especially with system processes, and consider the implications of disabling services on the stability and security of your macOS system.