For Mac Homebrew. An extension to start and stop Launchd services.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


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.