LinuxCommandLibrary

supervisorctl

supervisorctl

TLDR

Show the status of a process (or all processes if process_name is not specified)

$ supervisorctl status [process_name]
copy


Start/stop/restart a process
$ supervisorctl [start|stop|restart] [process_name]
copy


Start/stop/restart all processes in a group
$ supervisorctl [start|stop|restart] [group_name]:*
copy


Show last 100 **bytes** of process stderr
$ supervisorctl tail -100 [process_name] stderr
copy


Keep displaying stdout of a process
$ supervisorctl tail -f [process_name] stdout
copy


Reload process config file to add/remove processes as necessary
$ supervisorctl update
copy

DOCUMENTATION

Supervisor Components

supervisorctl

The command-line client piece of the supervisor is named supervisorctl. It provides a shell-like interface to the features provided by supervisord. From supervisorctl, a user can connect to different supervisord processes, get status on the subprocesses controlled by, stop and start subprocesses of, and get lists of running processes of a supervisord.

The command-line client talks to the server across a UNIX domain socket or an internet (TCP) socket. The server can assert that the user of a client should present authentication credentials before it allows him to perform commands. The client process typically uses the same configuration file as the server but any configuration file with a [supervisorctl] section in it will work.

Running Supervisor

This section makes reference to a BINDIR when explaining how to run the supervisord and supervisorctl commands. This is the "bindir" directory that your Python installation has been configured with. For example, for an installation of Python installed via ./configure --prefix=/usr/local/py; make; make install, BINDIR would be /usr/local/py/bin. Python interpreters on different platforms use a different BINDIR. Look at the output of setup.py install if you can't figure out where yours is.

supervisorctl Command-Line Options

-c, --configuration

Configuration file path (default /etc/supervisord.conf)

-h, --help

Print usage message and exit

-i, --interactive

Start an interactive shell after executing commands

-s,--serverurl URL

URL on which supervisord server is listening (default "http://localhost:9001").

-u, --username

Username to use for authentication with server

-p, --password

Password to use for authentication with server

-r, --history-file

Keep a readline history (if readline is available)

action [arguments]

Actions are commands like "tail" or "stop". If -i is specified or no action is specified on the command line, a "shell" interpreting actions typed interactively is started. Use the action "help" to find out about available actions.

Running supervisorctl

To start supervisorctl, run $BINDIR/supervisorctl. A shell will be presented that will allow you to control the processes that are currently managed by supervisord. Type "help" at the prompt to get information about the supported commands.

The supervisorctl executable may be invoked with "one time" commands when invoked with arguments from a command line. An example: supervisorctl stop all. If arguments are present on the command-line, it will prevent the interactive shell from being invoked. Instead, the command will be executed and supervisorctl will exit.

If supervisorctl is invoked in interactive mode against a supervisord that requires authentication, you will be asked for authentication credentials.

Glossary

daemontools

A process control system by D.J. Bernstein.

launchd

A process control system used by Apple as process 1 under Mac OS X.

runit

A process control system.

Superlance

A package which provides various event listener implementations that plug into Supervisor which can help monitor process memory usage and crash status: http://pypi.python.org/pypi/superlance.

umask

Abbreviation of user mask: sets the file mode creation mask of the current process. See http://en.wikipedia.org/wiki/Umask.

COPYRIGHT

2004-2015, Agendaless Consulting and Contributors

AUTHOR

This man page was created by Orestis Ioannou <orestis@oioannou.com> using the official documentation.

Copied to clipboard