You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ IDEA意外终止后能否重连.run.xml启动的Java进程查看输出

问题:IntelliJ IDEA意外终止后,能否不重启Java进程就重新连接查看stdout/stderr?

我通过IntelliJ IDEA的.run.xml配置文件启动了一个Java程序,IntelliJ IDEA意外终止,但该Java进程仍保持正常运行状态。请问是否无需重启该进程,就能重新连接/附加到它,以查看其标准输出(stdout)和标准错误输出(stderr)?

进程的启动命令行如下:

mortenbj 16054     1  2 14:23 pts/3    02:24:18 /usr/lib/jvm/java-21-openjdk-amd64/bin/java \
-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=54403 \
-Dcom.sun.management.jmxremote.rmi.port=54403 -Dcom.sun.management.jmxremote.ssl=false \
-Dh2.port=4409 -Dhvdc.eu.node=true -Djava.rmi.server.hostname=127.0.0.1 \
-Dsimulering=true -Duser.country=se -Xdebug -Xmx512m \
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5006 \
-javaagent:/usr/share/intellij/lib/idea_rt.jar=40229 -Dfile.encoding=UTF-8 \
-Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath ......

解决方案

可以不用重启进程,通过以下几种方法重新连接并查看输出:

方法1:IntelliJ IDEA远程调试(推荐)

你的进程启动时已经配置了JDWP调试端口和IDEA运行时代理,直接通过IDEA远程附加即可:

  1. 打开IDEA,进入Run/Debug Configurations → 点击+号选择Remote
  2. 配置Host为127.0.0.1,Port填5006(对应参数里的-Xrunjdwp:address=5006)
  3. 启动该远程配置,IDEA会自动附加到运行中的进程,之后就能在IDEA的Run窗口实时查看stdout和stderr,还能进行断点调试

方法2:Linux proc文件系统直接查看

在Linux环境下,可通过/proc文件系统直接读取进程的输出文件描述符:

  • 实时查看标准输出:tail -f /proc/16054/fd/1
  • 实时查看标准错误:tail -f /proc/16054/fd/2

这个方法无需依赖任何Java工具,直接用系统命令就能追踪输出。

方法3:JMX连接获取输出

进程开启了JMX远程服务(端口54403),可以用JConsole或VisualVM连接到127.0.0.1:54403,通过java.lang.Runtime相关的MBean来获取进程输出,不过这种方式操作相对繁琐,不如前两种直观。


内容的提问来源于stack exchange,提问作者MortenB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 05:13:15