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.14.tar.gz
(28.9 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.14-py3-none-any.whl
(18.5 kB
view details)
File details
Details for the file pmo-0.3.14.tar.gz.
File metadata
- Download URL: pmo-0.3.14.tar.gz
- Upload date:
- Size: 28.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd2af19a42b6a5ce02ba825895dc48296af13fd25139b72bc66e0b3a9b079a88
|
|
| MD5 |
047bb31f51a6f4789b150eba3c16761c
|
|
| BLAKE2b-256 |
6c85307be9d1aa013339b45563d4562fab664e654d880551a9154f62af2ba0f2
|
File details
Details for the file pmo-0.3.14-py3-none-any.whl.
File metadata
- Download URL: pmo-0.3.14-py3-none-any.whl
- Upload date:
- Size: 18.5 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 |
1dc09ec95f2510f9ee9d13b4d59bcbefc0b9e7eb67cd51edb07e1b033a9bec02
|
|
| MD5 |
4cbb5b2714e3b04de578fc1728fd8195
|
|
| BLAKE2b-256 |
d62dae3235d4edfe7d69aea2b805d03519261e86d1f58b14330b344ecaaf16ff
|