linux npm start 保持后台运行

1,922 阅读2分钟

一、方法1:nohup

.bash_profile中并source加载
 
如果没有就安装吧
yum provides */nohup
 
nohup npm start &

原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。

停止程序:

ps -ef | grep npm
ps -ef | grep node
kill -9 1067

二、方法2:pm2

1、安装

cnpm install pm2 -g 
 
#查看安装是否成功   
pm2 list

2、启动项目

#pm2启动:
which npm 
# /root/.nvm/versions/node/v16.13.1/bin/npm   安装路径(which npm 查看)
pm2 start "/root/.nvm/versions/node/v16.13.1/bin/npm" --name "esteelauder" -- start .
 
pm2 list
pm2 stop    
pm2 restart 
pm2 delete  

结果:

[root@VM-8-11-centos esteelauder]# pm2 start "/root/.nvm/versions/node/v16.13.1/bin/npm" --name "esteelauder" -- start
[PM2] Starting /root/.nvm/versions/node/v16.13.1/bin/npm in fork_mode (1 instance)
[PM2] Done.
┌─────┬────────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id  │ name           │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
├─────┼────────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0   │ esteelauder    │ default     │ N/A     │ fork    │ 8681280s0    │ online    │ 0%38.6mb   │ root     │ disabled │
└─────┴────────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

  1. pm2 常用命令
 pm2 start app.js # 启动app.js应用程序
 pm2 start app.js –name=”api” # 启动应用程序并命名为 “api”
 pm2 start app.js –watch # 当文件变化时自动重启应用
 pm2 start script.sh # 启动 bash 脚本
 
 pm2 list # 列表 PM2 启动的所有的应用程序
 
 pm2 monit # 显示每个应用程序的CPU和内存占用情况
 
 pm2 show [app-name] # 显示应用程序的所有信息
 
 pm2 logs # 显示所有应用程序的日志
 
 pm2 logs [app-name] # 显示指定应用程序的日志
 pm2 stop all # 停止所有的应用程序
 
 pm2 stop 0 # 停止 id为 0的指定应用程序
 
 pm2 restart all # 重启所有应用
 
 pm2 reload all # 重启 cluster mode下的所有应用
 
 pm2 gracefulReload all # Graceful reload all apps in cluster mode
 
 pm2 delete all # 关闭并删除所有应用
 
 pm2 delete 0 # 删除指定应用 id 0
 
 pm2 scale api 10 # 把名字叫api的应用扩展到10个实例
 
 pm2 reset [app-name] # 重置重启数量
 
 pm2 startup # 创建开机自启动命令
 
 pm2 save # 保存当前应用列表
 
 pm2 resurrect # 重新加载保存的应用列表
 
 pm2 update # Save processes, kill PM2 and restore processes
 
 pm2 generate # Generate a sample json configuration file