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

idea 服务器Debug端口启动设置

 一:在阿里云服务器安全组已经设置了端口授权对象:

正确命令:

nohup java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9998 -jar -Duser.timezone=GMT+08 -Xms256m -Xmx256m /opt/projects/*/*/*-starter-1.0-SNAPSHOT.jar  --spring.profiles.active=test > sys01.log 2>&1 &

执行上面不成功时,执行下面命令【主要设置标红的地方】:

nohup java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:9998 -jar -Duser.timezone=GMT+08 -Xms256m -Xmx256m /opt/projects/*/*/*-starter-1.0-SNAPSHOT.jar --server.address=0.0.0.0  --spring.profiles.active=test > sys01.log 2>&1 &

然后本地远程Debug,ok 

二:编辑启动命令:

创建文件start.sh,并进行授权 chmod +x start.sh

先发送 TERM 信号让应用优雅关闭,只有在超时后才使用 KILL 强制终止

#!/bin/bash

JAR_NAME="**-admin.jar"
LOG_FILE="/tmp/${JAR_NAME}.log"

echo "Stopping procedure: ${JAR_NAME}"

# 获取匹配的进程ID
pid=$(ps -ef | grep java | grep "${JAR_NAME}" | awk '{print $2}')

if [ -n "$pid" ]; then
echo "Found old process with PID: $pid, attempting to stop it..."
kill -TERM $pid  # 发送TERM信号,允许程序优雅关闭

# 等待最多30秒让进程退出
timeout=30
while [ $timeout -gt 0 ] && kill -0 $pid 2>/dev/null; do
echo "Waiting for process $pid to terminate... ($timeout seconds left)"
sleep 1
((timeout--))
done

# 如果进程仍然存在,则强制杀死
if kill -0 $pid 2>/dev/null; then
echo "Force killing process $pid"
kill -9 $pid
sleep 2  # 给系统一点时间清理资源
else
echo "Process $pid stopped gracefully"
fi
else
echo "No running process found for ${JAR_NAME}"
fi

# 启动新服务
echo "Starting new instance of ${JAR_NAME}"
nohup java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9998 \
-jar \
-XX:MetaspaceSize=512m \
-XX:MaxMetaspaceSize=512m \
-Xms1024m \
-Xmx1024m \
-Xmn128m \
-Xss256k \
-XX:SurvivorRatio=8 \
-XX:+UseConcMarkSweepGC \
/www/wwwroot/api/${JAR_NAME} \
--spring.profiles.active=dev > ${LOG_FILE} 2>&1 &

echo "New instance started in background. Logs redirected to ${LOG_FILE}"

http://www.dtcms.com/a/303693.html

相关文章:

  • WD5018电压12V降5V,2A电流输出,应用于车载充电器车载设备供电
  • AI-调查研究-41-多模态大模型量化 Qwen2.5-VL:技术架构、能力评估与应用场景详解
  • TOPSIS(Technique for Order Preference by Similarity to Ideal Solution )简介与简单示例
  • Android Slices:让应用功能在系统级交互中触手可及
  • 从0到1理解大语言模型:读《大语言模型:从理论到实践(第2版)》笔记
  • Botanix 主网上线,开启 BTC 可编程新时代!
  • 【ASP.NET Core】探讨注入EF Core的DbContext在HTTP请求中的生命周期
  • Ruby 发送邮件 - SMTP
  • 广泛分布于内侧内嗅皮层全层的速度细胞(speed cells)对NLP中的深层语义分析的积极影响和启示
  • Angular面试题目和答案大全
  • SketchUp纹理贴图插件Architextures安装使用图文教程
  • 深入浅出设计模式——创建型模式之建造者模式
  • vue让elementUI和elementPlus标签内属性支持rem单位
  • nginx 413 Request Entity Too Large
  • uniapp 微信小程序 列表点击分享 不同的信息
  • 重塑浏览器!微软在Edge加入AI Agent,自动化搜索、预测、整合
  • 基于JavaWeb的兼职发布平台的设计与实现
  • Kubernetes 存储入门笔记:从 Volume 到 PVPVC 全解析
  • 【2025年7月29日】TrollStore巨魔商店恢复在线安装
  • 【Spring AI 1.0.0】Spring AI 1.0.0框架快速入门(5)——Tool Calling(工具调用)
  • Qt 与 OpenMP 并行编程结合
  • Spring Boot 3.5.x 使用 SpringDoc 2 / Swagger3
  • RTSP协议详解与C++实现实例
  • 01背包问题:Python动态规划深度解析与工程实践
  • 01 基于sklearn的机械学习-机械学习的分类、sklearn的安装、sklearn数据集、数据集的划分、特征工程中特征提取与无量纲化
  • TCP/IP
  • 详解 Python 实现线性回归模型:从理论到实践
  • Windows提权(MS09-012 巴西烤肉)
  • MySQL5.7主从延迟高排查优化思路
  • RK3568基于mpp实现硬解码(二):FFmpeg + mpp实现ipc摄像头图像解码