supervisord and pm2 进程守护工具
pm2是一个带有负载均衡功能的应用进程管理器,类似有Supervisor,forever
supervisor 特点: 代码修改,实时重启
安装
npm install pm2 -g
pm2 start app.js //启动js文件
pm2 start app.js --name my-api
pm2 start app.js -i 0 #根据CPU核数启动进程个数
pm2 start app.js --watch #实时监控app.js的方式启动,当app.js文件有变动时,pm2会自动
pm2 start app.php //启动php文件
pm2 start app.py //启动py文件
pm2 start app.sh //启动sh文件
pm2 start app.rb //启动ruby文件
pm2 start app.json //启动json文件
pm2 start ./binary-app //启动二进制代码
pm2 ecosystem //生成配置文件
pm2 stop id
pm2 delete id
# 守护指令
pm2 list/stop/reload/delete/monit app
pm2 scale app 3 # 伸缩
pm2 flush # Empty all log file
pm2 reloadLogs # Reload all logs
pm2 update pm2 # 升级
pm2 startup # 产生 init 脚本,保持进程活着
pm2 --help
pm2 config
# app.js
"scripts": {
"start": "node ./bin/www",
"autoStart": "node-supervisor node ./bin/www"
}
#demo.sh
while :;do
date +%F_%T | tee >> /tmp/data.log
sleep 1
done