当调试器分离时,有什么方法可以停止应用程序吗?

问题描述

我正在IntelliJ下开发Java应用程序,该应用程序需要在Linux文件系统下运行。为此,我安装了WSL2,并使用远程任务在WSL2上运行我的应用程序,远程任务是一个基本的Shell脚本,用于获取项目路径,类路径和模块路径,并连接IntelliJ的调试器并执行我的工作。 但是,如果我断开调试器的连接,则该应用程序不会停止运行(应该是这样)。

在agentlib的选项中,我找不到能实现我想要实现的任何选项。 另外,IntelliJ上没有“启动后”任务

关于断开调试器时如何停止应用程序的任何想法吗?

Debugger configuration with no after launch tasks

我的启动脚本如下:

#!/bin/bash
# Takes 3 parameters fulfilled by IntelliJ macro  :
# $ProjectFileDir$ $Classpath$ <module name>

java_home=/opt/jdk-15
home=~/
home_projects=$home/IdeaProjects/

project=$(echo $1 | sed -e "s|C:\\\Users\\\$USER\\\IdeaProjects|$home_projects|")
cd $project
echo "Current directory: `pwd`"

classpath=$(echo $2 | tr '\\' '/' | tr ';' ':')
classpath=$(echo $classpath | sed -e "s|C:/Users/$USER/.jdks/openjdk-15|$java_home|g")
classpath=$(echo $classpath | sed -e "s|C:/Users/$USER/|$home|g")
classpath="$classpath;$project/$3/target/classes/"
echo $classpath

jarg="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005"
nohup $java_home/bin/java -cp $classpath $jarg <main class> & # Always the same main,it's hidden.
sleep 2

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)