npm run build 启动之后关闭终端就会停止运行解决办法:
使用nohup在后台启动
进入项目目录输入一下指令:
nohup
nohup npm run start 1>/dev/null 2>/dev/null &
回车执行后会返回当前的进程PID
使用:
ps -aux
命令查看当前执行的进程可以在下面找到上面返回的进程pid,并且COMMAND标识的是npm run start
有了PID后期可以通过:
kill -9 pid
杀死进程
解释:
nohup 运行的命令 1> 正确日志的输出文件地址 2> 错误日志文件的输出地址 &
如果不想打印日志在输出路径上输入/dev/null
/dev/null:Linux下的特殊文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。
这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。
pm2 (推荐)
输入命令启动:
pm2 --name=xiaosiblog start npm -- run start
设置开启自动启动:
运行 pm2 save 会将当前pm2所运行的应用保存在/root/.pm2/dump.pm2下,当开机重启时,运行pm2-root服务脚本,并且到/root/.pm2/dump.pm2下读取应用并启动。
运行 pm2 startup,即在/etc/init.d/目录下生成pm2-root的启动脚本,且自动将pm2-root设为服务。
如果想要删除自动启动服务运行pm2 unstartup systemd即可删除
pm2 start app.js --name my-api # 命名进程
pm2 list # 显示所有进程状态
pm2 monit # 监视所有进程
pm2 logs # 显示所有进程日志
pm2 stop all # 停止所有进程
pm2 restart all # 重启所有进程
pm2 reload all # 0秒停机重载进程 (用于 NETWORKED 进程)
pm2 stop ‘name’ # 停止指定的进程
pm2 restart ‘name’ # 重启指定的进程
pm2 startup # 产生 init 脚本 保持进程活着
pm2 web # 运行健壮的 computer API endpoint (http://localhost:9615)
pm2 delete ‘name’ # 杀死指定的进程
pm2 delete all # 杀死全部进程
评论/留言