当前位置: 首页 > wzjs >正文

别人做的网站自己想更新东营网站推广公司

别人做的网站自己想更新,东营网站推广公司,查企业免费,大连微信网站建设当使用 java -jar xxx.jar & 启动 Spring Boot 项目后进程自动关闭时,可能由多种原因导致。以下是常见排查步骤和解决方案: 一、查看日志定位原因 进程异常关闭通常会在控制台或日志中留下线索,建议先获取完整日志: 1. 查看…

当使用 java -jar xxx.jar & 启动 Spring Boot 项目后进程自动关闭时,可能由多种原因导致。以下是常见排查步骤和解决方案:

一、查看日志定位原因

进程异常关闭通常会在控制台或日志中留下线索,建议先获取完整日志:

1. 查看终端输出日志
  • • 虽然使用 & 让进程在后台运行,但默认情况下,进程的 标准输出(stdout)和标准错误(stderr)仍会输出到当前终端
  • • 若终端已关闭或清空,可通过以下方式重新关联日志:
    tail -f nohup.out  # 若使用 nohup 启动(见下文方案)
2. 查看 Spring Boot 应用日志
  • • 确保应用日志配置正确(如 logback 或 log4j),检查日志文件(默认可能在 ./logs/ 目录下),查看是否有 启动失败依赖缺失端口占用数据库连接失败 等错误。

二、常见原因及解决方案

1. 应用自身启动失败
  • • 现象:进程启动后立即退出,日志中出现 Application run failedError starting ApplicationContext 等错误。
  • • 排查方向
    • • 端口冲突:检查端口是否被占用(如 8080):
      lsof -i :8080  # 查看端口占用
      若被占用,修改 application.properties 中的端口:
      server.port=8081
    • • 依赖缺失:检查 pom.xml 或 build.gradle 中是否缺少必要依赖(如数据库驱动、Spring Boot Starter),重新打包项目:
      mvn clean package -DskipTests  # Maven 打包
    • • 配置错误:检查数据库连接配置、文件路径等是否正确,避免语法错误(如 YAML 格式缩进问题)。
2. 后台进程被终端会话终止(挂起信号)
  • • 原因:使用 & 启动的进程属于当前终端会话的子进程,当终端关闭时,进程可能收到 SIGHUP(挂起)信号而终止。
  • • 解决方案:使用 nohup 或 disown 避免进程受终端影响:
    • • 方案一:用 nohup 启动(将日志重定向到文件):
      nohup java -jar xxx.jar > app.log 2>&1 &
      • • nohup:忽略 SIGHUP 信号,防止终端关闭导致进程终止。
      • • > app.log 2>&1:将 stdout 和 stderr 重定向到 app.log 文件。
    • • 方案二:启动后用 disown 脱离会话
      java -jar xxx.jar &
      disown -h $!  # $! 表示最后一个后台进程的 PID
3. OOM(内存不足)导致进程被系统终止
  • • 现象:日志中出现 java.lang.OutOfMemoryError,或系统日志(如 /var/log/syslog)中有 kill 进程的记录(Out of memory: Kill process ... java)。
  • • 排查方法
    • • 查看进程内存占用:
      ps -eo pid,ppid,%mem,%cpu,command | grep java  # 查看 Java 进程内存
      jstat -gcutil <PID> 5000  # 监控 JVM 垃圾回收情况
    • • 解决方案
      • • 减少 JVM 内存分配(如 -Xmx 参数):
        java -Xmx1024m -jar xxx.jar &  # 限制最大内存为 1GB
      • • 优化应用代码,避免内存泄漏(如大对象未释放、集合类无限增长等)。
4. 进程被系统服务管理工具终止
  • • 若系统使用 systemd 管理服务(如 CentOS 7+、Ubuntu 16+),可能因服务配置不当导致进程重启失败。
  • • 排查方法
    • • 若已将应用配置为 systemd 服务,检查服务状态:
      systemctl status springboot-app.service  # 假设服务名为 springboot-app
    • • 若未配置服务,建议通过 systemd 管理进程(更健壮):
      1. 1. 创建服务文件:
        sudo vi /etc/systemd/system/springboot-app.service
      2. 2. 写入以下内容(根据实际路径修改):
        [Unit]
        Description=Spring Boot Application
        After=network.target[Service]
        User=root
        WorkingDirectory=/path/to/jar
        ExecStart=/usr/bin/java -jar xxx.jar
        Restart=always          # 自动重启
        RestartSec=10           # 重启间隔 10 秒
        SyslogIdentifier=springboot-app
        Environment=JAVA_OPTS=-Xmx1024m[Install]
        WantedBy=multi-user.target
      3. 3. 重载配置并启动服务:
        sudo systemctl daemon-reload
        sudo systemctl start springboot-app.service
        sudo systemctl enable springboot-app.service  # 开机自启
5. 资源限制(如 ulimit 限制)
  • • 原因:进程打开的文件句柄数、线程数超过系统限制,导致启动失败。
  • • 排查方法
    ulimit -n  # 查看最大文件句柄数限制
    ulimit -u  # 查看最大进程数限制
  • • 解决方案
    • • 临时调整(当前会话有效):
      ulimit -n 65536  # 设置最大文件句柄数为 65536
    • • 永久调整(需修改 /etc/security/limits.conf):
      * soft nofile 65536
      * hard nofile 65536

三、其他排查建议

  1. 1. 检查 JAR 包完整性
    • • 重新打包项目,确保 JAR 包未损坏(如 jar -tvf xxx.jar 查看内容是否完整)。
  2. 2. 测试纯净环境启动
    • • 在其他服务器或容器中启动 JAR 包,排除当前服务器环境问题(如缺少系统依赖、权限不足等)。
  3. 3. 使用调试模式启动
    java -jar -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n xxx.jar &
    通过调试工具连接端口(如 IntelliJ IDEA),查看进程挂起位置。

总结操作流程

  1. 1. 优先查看日志:通过终端输出和应用日志定位具体错误。
  2. 2. 排除基础问题:端口冲突、依赖缺失、配置错误。
  3. 3. 处理进程管理问题:使用 nohup 或 systemd 确保进程独立运行。
  4. 4. 优化资源配置:调整 JVM 内存、系统资源限制。

根据日志中的具体错误信息,可进一步针对性解决问题。如果仍无法解决,建议提供完整的错误日志片段,以便更精准分析。

http://www.dtcms.com/wzjs/574835.html

相关文章:

  • 网站 数据库选择北京软装设计公司有哪些
  • 可以免费做演播的听书网站网站建设主要用什么软件
  • iis7搭建网站教程如何建设自己的淘宝客网站
  • 自己建网站流程要学什么网站备案多长时间来完成
  • 苏州吴江区住房和城乡建设局网站网站建设验收模板
  • 外贸企业网站模板wordpress页面关键词和描述
  • 企业门户网站模板分享网站和数据库
  • 如何高效建设品牌网站?新网站seo怎么优化
  • 论坛网站模板下载电商系统的哪家好
  • 响应式网站设计规范营销网站建设联系方式
  • 门户网站建设 请示公司网站留言板
  • 江浦做网站me wordpress
  • 做网站那个平台好商城网站前期推广
  • 游戏编程怎么学京东seo是什么意思
  • php网站连接数据库我的世界建筑网站
  • 网站建设服务哪家有群晖 做网站服务器
  • 网站备案类型有哪些四川展览设计公司
  • 做外贸必看的网站和论坛有哪些【郑州网站建设】
  • 保定网站seo费用wed网站开发是什么
  • 网站开发需要学习网络规划设计师教程最新版
  • 漂亮全屏网站平面设计正规兼职平台
  • 南通工程建设信息网站南宁制作网站公司
  • 做元器件上什么网站汽车网有哪些网站大全
  • 权威做网站的公司湖南建筑公司网站
  • 网站建站的标准永久免费建站网站
  • 淘宝上的网站建设工作室网站域名
  • 网站认证方式网站备案授权书范本
  • 网站设计需求方案网站备案核实单
  • 北京顺义网站建设廉洁长沙考试
  • 做智能网站软件wordpress轮播的插件