Find file
Fetching contributors…
Cannot retrieve contributors at this time
89 lines (61 sloc) 3.21 KB

brew launchd

An extension to start and stop Launchd services.

Quick try out

Tip: if you dont want to mess with your current homebrew installation, heres how to install seperately.

$ git clone
$ cd homebrew
$ git checkout issue-148-launchd

# Example
$ bin/brew install redis
$ bin/brew start redis
$ telnet localhost 6379 # (See if redis is running)
$ bin/brew stop redis

# Report on installed services
$ bin/brew launchd info

# View the redis formula
$bin/brew edit redis

# Further Help
$ man brew-launchd
$ bin/brew launchd --help

How to rebase changes onto homebrew-master

  • Get the launchd core changes for homebrew (until they merge it)

    brew update
    git config core.whitespace nowarn
    git remote add dreamcat4 git://
    git fetch --no-tags dreamcat4 +issue-148-launchd:launchd-core-changes
    git rebase launchd-core-changes


$ brew launchd --help
start service,(s)         Start launchd service(s)
                          Equivalent to launchctl load -w files...
                          Example  $ brew start dnsmasq memcached couchdb

stop service,(s)          Stop launchd service(s)
                          Equivalent to launchctl unload -w files...
                          Example  $ brew stop mamcached dnsmasq

restart service,(s)       Restart launchd service(s)
                          Example  $ brew restart couchdb

  --user                    At user login.
                            Otherwise, the default setting will be used.
                            Example  $ brew start --user openvpn ddclient

  --boot                    At boot time. Requires sudo/root privelidges.
                            Otherwise, the default setting will be used.
                            Example  $ sudo brew start --boot nginx mysql

info [service,(s)]        Info for launchd service(s)
                          With no arguments prints info for all services.
                          Example  $ brew launchd info

clean                     Clean missing/broken launchd service(s).

                          Examples $ brew launchd clean
                                   $ sudo brew launchd clean

default [--user|--boot]   Set the default target to start launchd services.
                          The initial setting, --user will start daemons at
                          user login - from the Loginwindow (not over ssh).

                          Wheras --boot will set services to start at boot
                          time. But be aware that brew should be installed
                          to the root filesystem, not on a mounted volume.

                          Examples $ brew launchd default --boot
                                   $ brew launchd default --user

--help                    Show this message

--version                 Print version information


Copyright © 2010 Dreamcat4. See LICENSE for details.