---
name: "supervisorctl"
section: "1"
platform: "linux"
package: "supervisor"
version: "4.2.5-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/supervisorctl"
---

# supervisorctl(1)

supervisorctl Documentation Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems. It shares some of the same goals of programs like launchd, daemontools, and runit. Unlike some of these programs, it is not meant to be run as a substitute for init as "process id 1". Instead it is meant to be used to control processes related to a project or a customer, and is meant to start like any other program at boot time.

## NAME

supervisorctl - supervisorctl Documentation

Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.

It shares some of the same goals of programs like launchd, daemontools, and runit. Unlike some of these programs, it is not meant to be run as a substitute for **init** as "process id 1". Instead it is meant to be used to control processes related to a project or a customer, and is meant to start like any other program at boot time.

## 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*.

## AUTHOR

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

## COPYRIGHT

2004-2015, Agendaless Consulting and Contributors
