sudo apt-get install supervisor
[program:flashpolicyd]
directory=/path/to/project/root
environment=ENV_VARIABLE=example,OTHER_ENV_VARIABLE=example2
command=python flashpolicyd.py
autostart=true
autorestart=true
Another example configuration
[unix_http_server]
file=./tmp/sock/supervisor.sock ; path to your socket file
[supervisord]
logfile=./tmp/logs/supervisord.log ; supervisord log file
logfile_maxbytes=50MB ; maximum size of logfile before rotation
logfile_backups=10 ; number of backed up logfiles
loglevel=error ; info, debug, warn, trace
pidfile=./tmp/pid/supervisord.pid ; pidfile location
nodaemon=true ; run supervisord as a daemon
minfds=1024 ; number of startup file descriptors
minprocs=200 ; number of process descriptors
user=root ; default user
childlogdir=./tmp/logs/ ; where child log files will live
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix://./tmp/sock/supervisor.sock ; use a unix:// URL for a unix socket
[inet_http_server]
port = 127.0.0.1:9001
[program:tao-app]
command=python app.py --port=8000 --server_path=ec2-54-87-125-46.compute-1.amazonaws.com
stderr_logfile = ./tmp/logs/tornado-stderr.log
stdout_logfile = ./tmp/logs/tornado-stdout.log
supervisorctl update
supervisorctl restart flashpolicyd