2012-02-28 110 views
1

我正在通过批处理文件运行一组Java应用程序,这些批处理文件偶尔需要通过控制台终止。但是在任务管理器中,它将所有这些应用程序显示为java.exe,而在应用程序选项卡中则显示了特定的名称。我需要从应用程序选项卡中获取应用程序的进程ID,以便我可以根据它杀死应用程序。重申一下,我只有应用程序名称,而不是其他细节,并且我将如何获得基于此的PID - 在vb.net中?杀死特定的Java应用程序

在此先感谢

问候 Sathya.M

+0

好点。 (+1)。完全忘了jps。 – AlexR 2012-02-28 11:39:48

+0

所有java应用程序的启动类具有相同的名称。但我不知道jps。怎么做? – Sathya 2012-02-28 12:05:43

+0

@Sathya:http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html – RanRag 2012-02-28 12:12:43

回答

3

就以这个线程看看:How can a Java program get its own process ID?

这是不准确的复制。它回答了应用程序如何发现自身的PID的问题。

如果您正在运行的所有应用程序均属于您,您可以修改代码以读取PID并将其传递给其他进程(例如将其写入文件)。如果进程不是你的,你可以使用JMX远程连接你的应用程序并发现他们的PID。

+0

对于java.lang.management包为+1 :-) – 2012-02-28 11:42:36