如何在Windows中杀死Java进程而不杀死javaw.exe?

And*_*Eve 5 java kill process javaw

我有一个外部Windows .exe实际上是Java应用程序:运行.exe启动javaw.exe,后者又运行该Java应用程序.

我没有编写该应用程序,也无法通过API访问它.但是,我需要能够杀死它.所以现在我只是杀死了Windows进程javaw.exe,这对于只运行该Java应用程序的测试机很好,但如果我需要更精细的粒度,我目前无法这样做.

我的搜索产生了诸如Sysinternal的Process Explorer或JDK中的jps命令之类的建议,但在我打算提供脚本的目标系统中,JDK和Sysinternal的Process Explorer都无法运行.

有没有其他方法不需要外部工具?javaw.exe是否有一个列出Java进程的开关或命令行选项?是否有JRE版本的jps?

谢谢.

mik*_*era 3

我仍然建议杀死 javaw.exe。

我看不出有什么缺点,因为这毕竟是您想要终止的进程。

请记住,如果您在计算机上运行多个应用程序,则它们每个都应该有一个单独的 JVM 实例。因此,如果需要,您仍然可以终止特定的应用程序。

  • 您需要的是像 Sysinternals Process Explorer 这样的工具。它将允许您查看父进程并显示传递给 javaw.exe 的完整命令行。 (3认同)