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}"

相关推荐
观书喜夜长19 小时前
大模型应用开发学习-基于langchain框架做一个个人文档问答助手
python·学习·idea
金蕊泛流霞3 天前
【idea2023破解版】
idea
百锦再4 天前
飞算 JavaAI:我的编程强力助推引擎
java·spring·ai·编程·idea·code·飞算
稻草猫.9 天前
SpringBoot日志全解析:从调试到持久化
java·开发语言·spring boot·java-ee·idea
李小白杂货铺10 天前
IntelliJ IDEA 深度调优:禁用启动校验、休眠唤醒卡死修复与插件生态清理指南
idea·intellij·深度优化·深度调优·禁用启动校验·休眠唤醒卡死问题·插件生态清理
筱顾大牛11 天前
点评项目---分布式锁
java·redis·分布式·缓存·idea
罗超驿1 个月前
JavaSE高频答疑:内部类同名变量访问全解 + Comparable与Comparator核心区别
java·开发语言·idea
多云的夏天1 个月前
idea 安装glm,我用起来了。
idea
前路不黑暗@1 个月前
Java项目:Java脚手架项目的公共模块的实现(二)
java·开发语言·spring boot·学习·spring cloud·maven·idea
前路不黑暗@1 个月前
Java项目:Java脚手架项目的意义和环境搭建(一)
java·开发语言·spring boot·学习·spring cloud·maven·idea