Supervice¶
A modern, lightweight, and fully async process supervisor for Unix-like systems.
Supervice manages long-running processes with automatic restart, health checking,
process grouping, hot config reload, and a Unix socket RPC interface — all built
on Python’s asyncio with zero external dependencies.
Key Features¶
Async-first — Built entirely on
asynciofor efficient I/O multiplexingZero dependencies — Pure Python stdlib only; nothing to install beyond Python 3.10+
Process groups — Organize processes and control them as a unit
Health checks — TCP and script-based health monitoring with auto-restart
Hot reload — Add/remove programs without restarting the daemon
Daemon mode — Double-fork daemonization with PID file locking
Graceful shutdown — Orderly stop of all child process trees
Log rotation — Built-in rotating file handler with configurable limits
Type-safe — Fully type-hinted, passes
mypy --strict
Getting Started¶
pip install supervice
# supervisord.conf
[supervice]
logfile = supervice.log
pidfile = supervice.pid
[program:myapp]
command = python3 -u app.py
autostart = true
autorestart = true
supervice -c supervisord.conf -n # foreground
supervicectl status # check status
Reference
Project