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.11.tar.gz
(27.8 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.11-py3-none-any.whl
(17.3 kB
view details)
File details
Details for the file pmo-0.3.11.tar.gz.
File metadata
- Download URL: pmo-0.3.11.tar.gz
- Upload date:
- Size: 27.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ef5c6f24f666f4dc7df9e329e46c71ccae5a269182f80f73e1ae903ae1c7412
|
|
| MD5 |
3907d28656d0297b450caa3c5572252a
|
|
| BLAKE2b-256 |
d23d286075c6e4817c6c5412334d9cd04afcd99aa3e2f498d3c6d974d2ec6882
|
File details
Details for the file pmo-0.3.11-py3-none-any.whl.
File metadata
- Download URL: pmo-0.3.11-py3-none-any.whl
- Upload date:
- Size: 17.3 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 |
50ad806b83c67df84e9a489c26d3f3793d388f50ced231feef812ac8cc842ff9
|
|
| MD5 |
8f9f96ac08519b26df894bc4a59c9404
|
|
| BLAKE2b-256 |
3c898f7396c31308b999da0deb36cdef97b4698353e86ccfe3d5c20edd32cb08
|