Ubuntu系统下如何查看screen运行的node命令日志排查启动报错
Ubuntu 20.04下screen运行node服务秒退的排查方法
- 第一步优先直接前台运行node命令复现错误,这是最快的定位方式
直接在你的项目目录执行:node api/index.js
终端会直接输出启动过程中的所有报错信息,依赖缺失、端口占用、文件路径错误、语法错误等常见问题都能直接看到。 - 若需要保留screen会话的运行日志,启动时添加输出重定向规则
执行以下命令启动screen会话,所有标准输出和错误输出都会写入指定日志文件:screen -S api -dm bash -c 'node api/index.js > /var/log/node_api.log 2>&1'
后续要查看日志执行:cat /var/log/node_api.log - 已启动且未加日志规则的会话排查方法
- 先执行
screen -ls查看会话状态,如果存在状态为(Dead)的对应会话,执行screen -D -r api尝试重连,可查看会话退出前的最后输出内容 - 若会话已被销毁,可查询系统日志排查崩溃原因:
grep -E 'screen|node' /var/log/syslog
- 先执行
- 也可以先进入screen前台运行验证,再切后台
- 执行
screen -S api进入新的screen会话 - 在会话内执行
node api/index.js,查看启动输出是否正常 - 确认无报错后按
Ctrl+A+D将会话切到后台运行,后续服务异常退出时重连会话即可查看历史输出
- 执行
常见启动失败原因参考:screen启动后默认工作目录可能和当前终端不一致,建议将node脚本路径替换为绝对路径,比如
node /home/你的用户名/项目目录/api/index.js;此外可检查对应端口是否被占用、项目依赖是否已安装、node版本是否符合项目要求。
内容的提问来源于stack exchange,提问作者Christopher Martinez
相关产品推荐
相关产品推荐

