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

相关推荐
死牛胖子13 小时前
调整Idea缓存目录,释放C盘空间
idea
Joker—H8 天前
【Java】Reflection反射(代理模式)
java·开发语言·经验分享·代理模式·idea
无名客012 天前
JAVA_TWO-初识Java2
java·intellij-idea·idea·java基础
设计师小聂!13 天前
尚庭公寓--------登陆流程介绍以及功能代码
java·spring boot·maven·mybatis·idea
Joker—H18 天前
【Java】JUC并发(线程的方法、多线程的同步并发)
java·开发语言·经验分享·idea
默默coding的程序猿1 个月前
3.前端和后端参数不一致,后端接不到数据的解决方案
java·前端·spring·ssm·springboot·idea·springcloud
巴里巴气1 个月前
git常用操作 --- idea编译器 --- 公司实战版
git·idea
巴里巴气1 个月前
idea编译器使用git拉取、提交非常慢的原因和解决方案
git·idea
nvvas1 个月前
JETBRAINS IDE 开发环境自定义设置快捷键
pycharm·编辑器·intellij-idea·idea