Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'd like to use supervisord to run some commands for my Django project but I keep getting the following error:


2012-05-18 17:52:15,784 INFO spawnerr: can't find command 'source'

If I remove the "source" command, the log shows the same error: can't find command 'python'.

supervisord.conf excerpt:

command=beanstalkd -l -p 11300
command=source /home/mf/virtualenvs/env/bin/activate
command=python command1
command=python command2

I tried removing the directory and adding the absolute path to the commands but I kept getting the same error.

I run supervisord with the following command:

supervisord -c supervisord.conf -l supervisor.log
share|improve this question
There is a great project to simplify the process – FrEaKmAn Sep 17 '15 at 7:43

The source command is only available in bash, and the supervisor command is run by sh. I would recommend using a script to perform your commands:


command = bash /path/to/app/
directory = /path/to/app/
user = ubuntu



beanstalkd -l -p 11300
source /home/mf/virtualenvs/env/bin/activate    
python command1
python command2

The only problem is that supervisor will only have control of the script, not the command(s). If you have a situation where you want supervisor to manage and keep alive a specific process, I would recommend using exec in your bash init file, that way supervisor will have control of your process. E.g.



exec beanstalkd -l -p 11300

You may find this useful:

share|improve this answer
The link is broken, but there's a copy in the wayback machine. – Aryeh Leib Taurog Aug 11 '14 at 10:56

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.