simple process manager
Project description
PMO - Process Manager Omni
A lightweight process manager inspired by PM2, but designed primarily for development environments.
Features
start,stop, andrestartservices, similar to PM2- Simple YAML configuration
- Real-time logs with highlight
- Environment variable support
- Automatic
.envfile loading
Installation
pip install pmo
Usage
Quick Start
- Create a
pmo.ymlfile in your project:
# Simple format, just like procfile
web-server: node server.js
# Detailed format
api-server:
cmd: python api.py
cwd: ./api
env:
NODE_ENV: development
- Optional: Create a
.envfile for shared environment variables:
# This will apply to all services
DATABASE_URL=postgres://localhost:5432/mydb
DEBUG=true
- Start your services:
pmo start
- List your services:
pmo ls
Output:
+---------------------------------------------------------------------------------------------------------------------+
| id | name | pid | uptime | status | cpu | mem | gpu mem | gpu id | user |
|------+-----------+------------+----------+-------------+------------+------------+------------+--------+------------|
| 0 | vllm-1 | 482950 | 25m 15s | running | 0.0% | 1mb | 20632 MiB | 0 | simpx |
| 1 | sglang-1 | 482952 | 25m 15s | running | 0.0% | 1mb | 20632 MiB | 1 | simpx |
| 2 | vllm-2 | 482954 | 25m 15s | running | 0.0% | 1mb | 20632 MiB | 2 | simpx |
+---------------------------------------------------------------------------------------------------------------------+
Commands
pmo start [all | service-name | service-id]
pmo stop [all | service-name | service-id]
pmo restart [all | service-name | service-id]
pmo log [all | service-name | service-id]
pmo flush [all | service-name | service-id]
pmo dry-run [all | service-name | service-id]
pmo ls
Configuration
The pmo.yml file supports two formats:
- Simple:
service-name: command - Detailed:
service-name: cmd: command cwd: working directory (optional) env: KEY: value
PMO manages runtime data in the .pmo directory with logs and PID files.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pmo-0.3.12.tar.gz
(28.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
pmo-0.3.12-py3-none-any.whl
(18.1 kB
view details)
File details
Details for the file pmo-0.3.12.tar.gz.
File metadata
- Download URL: pmo-0.3.12.tar.gz
- Upload date:
- Size: 28.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
831ded781da5802581536c467ec23d23219129036be88f3215cebf64e059fa39
|
|
| MD5 |
eb7dce26867278d529c27ccb8e1d185a
|
|
| BLAKE2b-256 |
bb8d6823d26426ad31c2b93841ca9461ebc811ab92278a3cc964f8c9fe764dc4
|
File details
Details for the file pmo-0.3.12-py3-none-any.whl.
File metadata
- Download URL: pmo-0.3.12-py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36dbb476557639ab68de626496777728caef926c4076228effa30ff0d6c63f68
|
|
| MD5 |
6c3134201735f738c1a61d8afae44f9b
|
|
| BLAKE2b-256 |
9be1ea7f6a255061073c059eaccc64b72609eb899a331da8332e49a0490fda50
|