Supervisor-vms: A Process Control System for OpenVMS
Supervisor-vms is a tools that allows to monitor and control a number of processes on OpenVMS systems.
Use process termination mailbox and AST. No CPU usage if no event occurs.
It was inspired by supervisor
Read the supervisor documentation is probably a good idea. Many of configuration parameters are the same.
Requirements
- Python 3.10 (VSI version)
- ovms module
Probably better to use the LD image which contains all the necessary modules.
Components
All logicals are defined in table SUPERVISORD_TABLE
supervisord.py
The server piece of supervisor is named supervisord.
It is responsible for starting processes (programs) at its own invocation, responding to commands from clients, restarting crashed or exited processeses
The server process uses a configuration file.
supervisorctl.py
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 the supervisord process, get status on the processes controlled by, stop and start processes of, and get lists of running processes (programs).
The command-line client talks to the server across a mailbox (SUPERVISORD_CMD logical)
Running supervisord
Required privileges: ALTPRI, SYSNAM, PRMMBX, IMPERSONATE, SETPRV, WORLD
First create a supervisord.conf, you can use the template supervisord.conf_template as an example.
Then start supervisord, probably in nodaemon mode initially.
Finally, if all seem correct, shutdown it and restart it on daemon mode.
Running processes doesn't need to be stopped. When restarting supervisord find the necessary informations for running processes using the logical name table SUPERVISORD_TABLE.
supervisord Command-Line Options
- -c FILE, --configuration=FILE
- The path to a **supervisord** configuration file. Unix syntax should be used
- -n, --nodaemon
- Run supervisord in the foreground
- -p pwd, --password=pwd
- Optional password, used with supervisorctl
- -h, --help
- Show supervisord command help
Running supervisorctl
Required privilege: PRMMBX, SYSNAM
supervisorctl Command-Line Options
- -c FILE, --configuration=FILE
- The path to a supervisord configuration file. Unix syntax should be used
- -p pwd, --password=pwd
- Optional password, used with supervisord
- -h, --help
- Show supervisord command help
supervisorctl Actions
- help
- Print a list of available actions
- help <action>
- Print help for <action>
- start <name>
- Start a process
- start <name> <name>
- Start multiple processes
- start all
- Start all processes
- status
- Get all process status info.
- status <name>
- Get status on a single process by name
- status <name> <name>
- Get status on multiple named processes
- stop <name>
- Stop a process
- stop <name> <name>
- Stop multiple processes
- stop all
- Stop all processes
- shutdown
- Stop supervisord, don't stop processes