Like pm2 without node.js ;-)
Project description
PM3
Like pm2 without node.js ;-)
PM3 CheatSheet:
Install and update
Build a virtualenv environment (recommended)
python3.9 -m venv PM3venv
. PM3venv/bin/activate
Then:
pip install pm3 # Install pm3
pip install -U pm3 # Upgrade pm3
Start
pm3 daemon start # Start process with default ~/.pm3/config.ini configuration
pm3 ping # Ensure pm3 daemon has been launched
Create new process
pm3 new '/bin/sleep 10' -n sleep10 # Create a new process with name sleep10
pm3 new '/bin/sleep 10' -n sleep10 --autorun # Create a new process with autorun option
pm3 new "script.py" --interpreter "/venv/bin/python" --cwd "/tmp" # Create a new process with interpreter and cwd definition
pm3 new '/bin/sleep 5' --max-restart 10 --autorun # Stops restarting the process after 10 restarts
Actions
pm3 start sleep10 # Start process with name sleep10
pm3 start 1 # Start process with id 1
pm3 restart all # Restart all process
pm3 stop 2 # Stop process with id 2
pm3 rm 3 # Stop and delete process with id 3
Listing
pm3 ls # Display all processes
pm3 ls -l # Display all processes in list format
pm3 ls -j # Display all processes in json format
pm3 ps 5 # Display process 5 status
pm3 ps -l ALL # Display ALL processes (hidden or not) status in list format
pm3 ps -j ALL # Display ALL processes (hidden or not) status in json format
Dump and Load
pm3 dump 2 # Print process 2 configuration in JSON
pm3 dump all -f dump.json # Save all configuration processes in dump.json file
pm3 load dump.json # Load all configuration processes from dump.json file
Logs
pm3 log # Display all processes logs
pm3 log 5 -f # Display and follow log of process 5
pm3 err 2 -n 50 # Display last 50 rows of process 5 error log
pm3 flush 1 log # Empty log file of process 1
pm3 flush all err # Empty err file of all process
Useful script generation
pm3 make_script systemd # Generate script for install startup systemd configuration
Misc
pm3 reset 2 # Reset meta data of process id 2
pm3 ping [-v] # Ensure pm3 daemon has been launched [verbose]
pm3 rename 3 -n <new_name> # Rename process id 3 with a <new_name>
pm3 -h # General help
pm3 new -h # Help of new subcommand
Daemon commands
pm3 daemon start # Start PM3 backend porcess
pm3 daemon stop # Stop PM3 backend porcess
pm3 daemon status # Check daemon status details
Configuration file:
$ cat ~/.pm3/config.ini
[main_section]
pm3_home_dir = /home/user/.pm3 # pm3 home dir
pm3_db = /home/user/.pm3/pm3_db.json # TinyDB Store File
pm3_db_process_table = pm3_procs # TinyDB process table
main_interpreter = /home/user/venv/bin/python # path of python interpreter
[backend]
name = __backend__ # name of backend process (hidden process)
url = http://127.0.0.1:7979/ # proto://ip:port of backend (if != 127.1 is a potential RISK!!)
cmd = /home/user/venv/bin/pm3_backend # path of backend command
[cron_checker]
name = __cron_checker__ # name of backend process (hidden process)
cmd = /home/user/venv/bin/pm3_cron_checker # path of cron checker command
sleep_time = 5 # Time (in seconds) to check process
debug = False # Crocn Checker debug info
Autocompletition (experimental)
Bash
pm3_exe=$(which pm3)
eval "$(register-python-argcomplete $pm3_exe)"
Fish
pm3_exe=$(which pm3)
register-python-argcomplete --shell fish $pm3_exe | source
or
register-python-argcomplete --shell fish $pm3_exe > ~/.config/fish/completions/pm3.fish
Other shell
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
PM3-0.3.23.tar.gz
(447.5 kB
view details)
Built Distribution
PM3-0.3.23-py3-none-any.whl
(29.9 kB
view details)
File details
Details for the file PM3-0.3.23.tar.gz
.
File metadata
- Download URL: PM3-0.3.23.tar.gz
- Upload date:
- Size: 447.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7da77dc5150b9f523e62469b3515b9923c54e636084a0bfe507dde178b4c40e |
|
MD5 | 5ffe52dfcede047c41ee23fb49ad2cd0 |
|
BLAKE2b-256 | b59c936e652e340b99398bb621f3d1760cb8f6775f2b0b4606e58a3b825688b2 |
File details
Details for the file PM3-0.3.23-py3-none-any.whl
.
File metadata
- Download URL: PM3-0.3.23-py3-none-any.whl
- Upload date:
- Size: 29.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5140aaa9ad80f01a00387911bc26ec50a2ed5eb134f6dee0ef1be5b91f8aa8cc |
|
MD5 | d1915521dc6ac408b55e48b6070effd3 |
|
BLAKE2b-256 | 5626687d833e846f8d79c29cdbf50bd5ea6cdbef3448dc951c33eb14545e270e |