使用Eclipse启动的进程如何获取PID

8

我在Eclipse中以调试模式启动了一个Java程序,现在我需要该进程的PID以生成Jmap快照。我尝试使用以下命令:

ps aux | grep 'eclipse'
ps aux | grep 'myServerName'

但是没有找到该PID的机会。

(注:PID指进程ID)

1
找到 Eclipse 的进程 ID,然后通过父进程 ID 等于该进程 ID 来过滤进程列表。 - Samuel Peter
你可以输入ps aux | less命令,并浏览其内容。然后,当你找到所需的进程时,可能会得到匹配模式。另外,@SamuelPeter提供的建议似乎非常有用,可以减少要检查的行数。 - fedorqui
3个回答

10
如果你的 path 中包含 java/bin,那么你可以使用 Java PS 工具: jps -l 输出: 17623 com.intellij.idea.Main 29003 sun.tools.jps.Jps 第一列是进程 ID。

1
它对我有用,而且这是一个非常简单的解决方案。非常感谢! - lucian.marcuta
是的,这个命令呈现的输出比“ps aux | grep java”更加清晰。 - committedandroider

1
尝试使用过滤器为“java”的ps aux | grep java命令,应该能显示它。

0

这现在由 Eclipse 直接支持(2022 年 2 月的 4.23 版本,6 年后)

调试器中的进程 ID

Eclipse 调试框架现在可以显示已启动进程的进程 ID(pid)。

如果具体的调试器实现支持,pid 将在控制台视图描述和进程属性页面中显示。

进程属性页面显示进程 ID -- https://www.eclipse.org/eclipse/news/4.23/images/process_properties.png

这对于所有使用或扩展 org.eclipse.debug.core.model.RuntimeProcess 的进程应该可以直接使用,并且可以通过指定 IProcess.ATTR_PROCESS_ID 进程属性轻松添加到其他进程中。

此外,Java 调试器现在在调试视图中的进程元素中显示进程 ID。

调试器显示进程 ID -- https://www.eclipse.org/eclipse/news/4.23/images/show_pid.png


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接