linux 启动进程保持,linux npm start 保持后台运行

一、方法1:nohup

which 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

内建负载均衡(使用 Node cluster 集群模块)

后台运行

0 秒停机重载,我理解大概意思是维护升级的时候不需要停机。

具有 Ubuntu 和 CentOS 的启动脚本

停止不稳定的进程(避免无限循环)

控制台检测

提供 HTTP API

远程控制和实时的接口 API ( Nodejs 模块,允许和 PM2 进程管理器交互 )

1、安装

cnpm install pm2 -g

#查看安装是否成功

pm2 list

2、启动项目

#pm2启动:

pm2 start "/opt/node-v10.15.3-linux-x64/bin/npm" --name "mytest" -- start .

# /opt/node-v10.15.3-linux-x64/bin/npm 安装路径(which npm 查看)

pm2 list

pm2 stop

pm2 restart

pm2 delete

3、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

你可能感兴趣的:(linux,启动进程保持)