How to start/stop/restart launchd services from the command line?
Solution 1:
Hi launchctl(8) is your friend. Just keep in mind that some of the services (sshd for example) are disabled in the configuration file so you will need to use the -w
switch when loading them. Here is a sshd example:
$ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
You can stop the service using the unload
subcommand.
$ sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
To list the services, as you might have already guessed use the 'list' subcommand ;)
have fun, n
Solution 2:
To restart a service, you can use the launchctl kickstart
command, together with the -k
option. For example, to restart apache, you can use
sudo launchctl kickstart -k system/org.apache.httpd
This information is from the launchctl
manual page:
kickstart [-kp] service-target Instructs launchd to run the specified service immediately, regardless of its configured launch conditions. -k If the service is already running, kill the running instance before restarting the service. [...]
Solution 3:
You could simply do
sudo launchctl stop com.openssh.sshd
If you don't known the full service name, you can do
sudo launchctl list
If you still don't find the service you expected, try to run without the root identity:
launchctl list
And you don't need to unload and load service.
Solution 4:
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Solution 5:
You are looking for launchctl
.
SYNOPSIS
launchctl [subcommand [arguments ...]]
DESCRIPTION
launchctl interfaces with launchd to load, unload daemons/agents and gen-
erally control launchd. launchctl supports taking subcommands on the
command line, interactively or even redirected from standard input.
These commands can be stored in $HOME/.launchd.conf or /etc/launchd.conf
to be read at the time launchd starts.