Those familiar with other Unix and Unix-like system will probably be used to using init.d or rc.d scripts to keep track of your daemon scripts, and perhaps using either the service or systemctl utiities to manage them. OS X, however, does not share these architectures, and may leave even an experienced shell user wondering how to manage their system daemons.

As it turns out, all of thse features (and a few others, including inted,crond,watchdogd, and others) have all been replaced in OSX by launchd, the unified services management framework released by Apple in 2005.

Using the launchctl utility, you should be able to easily start and stop services.

For example, it sometimes happens that printing on OS X can break, and (for example) you may not be able to add a new printer. To restart the Cups service you would, you can use launchctl to stop and start the cupsd daemon.

Open a terminal, and run the following commands as root.

Stopping a daemon

# launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist

Starting a daemon

# launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist