Pawel Decowski

Designer, developer, photographer, videographer. Founder of Relish.

Read this first

Supervisor can’t see config files

If you’re reading this, chances are you can’t start a Supervisor job:

$ supervisorctl start myjob
myjob: ERROR (no such process)

Supervisor just doesn’t seem to see your config file(s).

 Make Supervisor re-read the config files

There are two reasons why you may need to force Supervisor to re-read the config files.

 You’ve added a new config file

Supervisor reads config files once — during startup. When you add a new file, you have to tell it to re-read the config, before attempting to start the job.

 You’re using Vagrant and the config file is a symlink to a file in a shared folder

It seems that Supervisor starts before the shared folder is available, so it cannot see the config files. I have yet to confirm this theory, but every time I restart a Vagrant box, I have to tell Supervisor to re-read config files.

How to make Supervisor re-read config files?

supervisorctl reread

Continue reading →

Homebrew services

I just learned today that Homebrew has a built-in process manager. No more launchctl nightmare.

 How to

The basic usage looks like this:

brew services <command> <formula>

Where command is one of:

  • restart — Gracefully restart selected service
  • start — Start selected service
  • stop — Stop selected service


So to restart nginx, you’d run:

sudo brew services restart nginx

 There’s more

You can also list services managed by Homebrew:

brew services list

or get rid of stale services and plists:

brew services cleanup


Continue reading →