read

If you run OS X, you’ve probably encountered some frustration with Apple’s launchctl command line options when starting, stopping, and restarting your launchd daemons. Whereas most things Apple are minimalist, launchctl options are quite verbose.

For example, how many times have you installed a Homebrew package only to get met with something like:

If this is your first install, automatically load on login with:

cp /usr/local/Cellar/mongodb/1.6.5-x86_64/org.mongodb.mongod.plist ~/Library/LaunchAgents
launchctl load -w ~/Library/LaunchAgents/org.mongodb.mongod.plist

If this is an upgrade and you already have the org.mongodb.mongod.plist loaded:

launchctl unload -w ~/Library/LaunchAgents/org.mongodb.mongod.plist
cp /usr/local/Cellar/mongodb/1.6.5-x86_64/org.mongodb.mongod.plist ~/Library/LaunchAgents
launchctl load -w ~/Library/LaunchAgents/org.mongodb.mongod.plist

Or start it manually:

mongod run --config /usr/local/Cellar/mongodb/1.6.5-x86_64/mongod.conf

So to crank up Mongo you want me to pass that entire path to launchctl?

Lunchy – “Start your agents and go to lunch” Thank goodness there’s Lunchy from Mike Perham. Lunchy simplifies the command line interface to launchctl. To get started, install the gem:

gem install lunchy Now we can list all of our agents with ls

$lunchy ls
  com.adobe.AAM.Updater-1.0
  com.adobe.CS5ServiceManager
  com.apple.FTMonitor
  com.apple.apsd-ft
  com.apple.imagent
  com.apple.marcoagent
  com.bjango.istatlocal
  com.embercode.TVShowsHelper
  com.github.dotjs
  com.google.keystone.agent
  com.mysql.mysqld
  com.wacom.pentablet
  net.culater.SIMBL.Agent
  net.sourceforge.tvshows
  org.mongodb.mongod
  org.postgresql.postgres
  ws.agile.1PasswordAgent … and start MongoDB with

lunchy start mongo

To see the full range of options, just type lunchy with no arguments:

Supported commands:

ls [pattern]       Show the list of installed agents, with optional [pattern] filter
start [pattern]    Start the first agent matching [pattern]
stop [pattern]     Stop the first agent matching [pattern]
restart [pattern]  Stop and start the first agent matching [pattern]
status [pattern]   Show the PID and label for all agents, with optional [pattern] filter Got an idea to improve upon Lunchy? Go ahead and fork the project

Source on GitHub

Source: TheChangelog

Blog Logo

Manu S Ajith

#programmer, #hacker, #entrepreneur, open source evangelist. #Ruby, #Golang, #Elixir, #JS, Lazy #Blogger. Writes #code for a living.


Published

Back to Home