当前位置: 首页 > 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.lryc.cn/news/603323.html

相关文章:

  • 深度学习 目标检测常见指标和yolov1分析
  • Vue 3 响应式变量笔记
  • Chrome 提示 “此扩展程序不再受支持”(MacOS/Windows)
  • RabbitMQ面试精讲 Day 6:消息确认与事务机制
  • STL学习(?常用的遍历算法和查找算法)
  • 从协议栈到ath12k_mac_op_tx的完整调用路径
  • 云原生MySQL Operator开发实战(五):扩展与生态系统集成
  • Python 程序设计讲义(28):字符串的用法——格式化字符串
  • go install报错: should be v0 or v1, not v2问题解决
  • Vulkan入门教程 | 第二部分:创建实例
  • Docker用Web应用实例深入容器
  • Go语言实战案例-判断二叉树是否对称
  • 本地安装 SQLite 的详细步骤
  • p5.js 矩形rect绘制教程
  • SpringBoot整合RocketMQ(rocketmq-client.jar)
  • Python day28
  • 【智能协同云图库】智能协同云图库第八弹:基于阿里云百炼大模型—实现 AI 扩图功能
  • 2025年科研算力革命:8卡RTX 5090服务器如何重塑AI研究边界?
  • 0基礎網站開發技術教學(一) --(前端篇)--
  • 思途SQL学习 0729
  • 【CUDA显存不足的问题】
  • ironSource Ads Bidding 现已正式加入TopOn 聚合平台
  • 博弈论03——混合纳什均衡的收益求法
  • 【Linux入坑(一)—全志T133开发板适配欣瑞达LVDS 7寸(800*480)屏幕】
  • 函数对象 vs 函数指针 vs lambda:该用哪个才高效?
  • python学习DAY26打卡
  • Java高级技术知识点
  • GitLab的安装及使用
  • 路由器路由协议详解:从 RIP 到 OSPF 的技术演进
  • 理解Transformer解码器