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.16.tar.gz
(34.7 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.16-py3-none-any.whl
(19.9 kB
view details)
File details
Details for the file pmo-0.3.16.tar.gz.
File metadata
- Download URL: pmo-0.3.16.tar.gz
- Upload date:
- Size: 34.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e9db73d8e8beceb9f04ae2bdea55c0a85395e6ccfe469ee2522183e4d86febb
|
|
| MD5 |
712c2435538372c3eac37f395a531d95
|
|
| BLAKE2b-256 |
380ad062e613b29cf0b2ea66c48c166500e92a32d51030e801fe4887699b3ce2
|
File details
Details for the file pmo-0.3.16-py3-none-any.whl.
File metadata
- Download URL: pmo-0.3.16-py3-none-any.whl
- Upload date:
- Size: 19.9 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 |
c04affd48e9b10df2e824b8d59814c8c99f3f50452c173119f84bb70baedf2fa
|
|
| MD5 |
f23b5a86f568fa92814e965839ad0007
|
|
| BLAKE2b-256 |
832193215b0fa90a7261864a33a813f032310cfbe68655fffe251a1adc3eb98f
|