SUPERVISORCTL(1)

✨ SUPERVISORCTL(1) β€” the supervisorctl glow-up ✨

okay bestie, sit down, hydrate, and let me tell you about supervisorctl πŸ’– this is the man page for the supervisorctl command, part of Supervisor, and it's genuinely one of the most useful little tools out there, no cap.

Supervisor is a client/server system that lets its users monitor and control a bunch of processes on UNIX-like operating systems. it's giving "I have a dozen little daemons and I refuse to lose track of them" energy.

It shares some of the same goals as programs like launchd, daemontools, and runit. but bestie, listen β€” unlike some of those, it is not meant to be run as a substitute for init as "process id 1". do not do that. instead it's meant to be used to control processes related to a project or a customer, and it's meant to start like any other program at boot time. periodt. πŸ’…


πŸ“š DOCUMENTATION

🧩 Supervisor Components

  • supervisorctl β€” the command-line client piece of the supervisor is literally 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. iconic. ✨

πŸƒ 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. (iykyk 🫢)

πŸŽ€ 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. (main character energy: it asks who you are before it lets you in πŸ”)

πŸ¦‹ 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. slay.

2004-2015, Agendaless Consulting and Contributors


and that's the whole thing, bestie πŸŽ€ this page is from Supervisor 3.2.0, dated December 10, 2015, and it's filed under SUPERVISORCTL(1). go forth, control your processes, stay iconic πŸ’–βœ¨πŸ¦‹