simple process manager
Project description
PMO
A simple process management tool for Linux, similar to PM2, designed to simplify application deployment and management.
Features
- Start, stop, and restart services defined in a
pmo.ymlconfiguration file - View real-time logs with service name highlighting
- Automatic process supervision and PID management
- Environment variable support
- Simple YAML configuration
Installation
# Using pip
pip install pmo
# From source
git clone https://github.com/yourusername/pmo.git
cd pmo
pip install -e .
Usage
Quick Start
- Create a
pmo.ymlfile in your project:
# Basic format: service-name: command
web-server: node server.js
# Detailed format
api:
cmd: python api.py
cwd: ./api
env:
NODE_ENV: production
- Start your services:
pmo start
Core Commands
-
Start Services:
pmo start [all | service-name]
Starts all services or a specific service by name.
-
Stop Services:
pmo stop [all | service-name]
Stops all running services or a specific service by name.
-
Restart Services:
pmo restart [all | service-name]
Restarts all services or a specific service by name.
-
View Service Logs:
pmo log [all | service-name]
Shows logs in real-time (similar to
tail -f). -
List Services:
pmo psShows status of all configured services.
Configuration
pmo.yml
The pmo.yml file supports two formats:
-
Simple format:
service-name: command to run
-
Detailed format:
service-name: cmd: command to run cwd: working directory (optional) env: ENV_VAR1: value1 ENV_VAR2: value2
Note: The name "pmo" is reserved and cannot be used as a service name.
Directory Structure
PMO creates a .pmo directory to store runtime information:
.pmo/
├── logs/
│ ├── [service-name]-out.log # Standard output logs
│ └── [service-name]-error.log # Error logs
├── pids/
│ └── [service-name].pid # Process ID 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
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
File details
Details for the file pmo-0.3.2.tar.gz.
File metadata
- Download URL: pmo-0.3.2.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1dca66a41eaa8180d0d6c683dbaba2915cf13a8f8e3886c898e4152b6bb02534
|
|
| MD5 |
ef09d04578d6525710fbff345c726803
|
|
| BLAKE2b-256 |
0b7f88d42b5dac0353decce062a4d668767082315a6746f6e456cf6cc7d5c3f7
|
File details
Details for the file pmo-0.3.2-py3-none-any.whl.
File metadata
- Download URL: pmo-0.3.2-py3-none-any.whl
- Upload date:
- Size: 11.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 |
b787b95e62e10a05f6631c2af7a0c426dc1341a0036f9ac140aee6bdeb3b114b
|
|
| MD5 |
79ccd0efb01e1500f0fdf5a218e9cc60
|
|
| BLAKE2b-256 |
1cba51752b1a45586d93a7dffd794e3f118676430737d29742d302a5a18bd600
|