PM2 là ứng dụng dòng lệnh, quản lý các tiến trình chạy thường trực, ngay cả khi khởi động lại.
Cài đặt
npm install pm2@latest -g
Chạy một ứng dụng
$ pm2 start app.js
$ pm2 start bashscript.sh
$ pm2 start python-app.py --option
$ pm2 start binary-file -- --port 1520
# Có thể bao gồm "app_name param" trong chuỗi
$ pm2 start "binary-file --port 1520"
Vài option của pm2
# Đặ tên ứng dụng
--name <app_name>
# Theo dõi và restart ứng dụng nếu code thay đổi
--watch
# Giới hạn bộ nhớ khi restart
--max-memory-restart <200MB>
# Chỉ định file log
# mặc đinh file log nằm ở ~/.pm2/logs
--log <log_path>
# Tham đối của script
-- arg1 arg2 arg3
# Chờ giữa các lần khởi động lại
--restart-delay <delay in ms>
# Ghi file log theo thời gian
--time
# Không tự restart app
--no-autorestart
# Restart kiểu cron
--cron <cron_pattern>
Quản lý các tiến trình
$ pm2 restart app_name
$ pm2 reload app_name
$ pm2 stop app_name
# Xóa app_name khỏi danh sách quản lý
$ pm2 delete app_name
# trong đó app_name có thể là
# all: tất cá tiến trình
# id: id của tiến trình
Startup script
Các ứng dụng được pm2 gọi chạy đều được ghi nhớ. Để các ứng dụng này được gọi chạy khi máy tính reboot, chỉ cần chạy dòng lệnh sau
# pm2 quản lý startup
$ pm2 startup
# pm2 không quản lý startup
$ pm2 unstartup
Để gọi chạy ứng dụng mà không cần chạy lại khi reboot, dùng tham số –no-autorestart
pm2 start app_name --no-autorestart
Chú thích
Để ứng dụng node.js chạy khi reboot, phải dùng pm2 hay forever… Các cách thông thường không tác dụng