如何在Windows中获取进程的应用程序名称?

问题描述:

我正尝试在我的Java应用程序中根据其应用程序名称搜索正在运行的进程。我相信Linux可以使用“ps -ef”,然后使用grep进行过滤。如何在Windows中获取进程的应用程序名称?

我在Windows上使用得到tasklist.exe/FO CSV/NH输出是

"java.exe","6132","Console","1","50,704 K" 
"conhost.exe","2392","Console","1","4,384 K" 
"cmd.exe","5400","Console","1","3,792 K" 
"conhost.exe","5656","Console","1","4,336 K" 
"tasklist.exe","3576","Console","1","5,816 K" 

所有Java进程被列为 “的java.exe” 我不能在两个不同的应用程序之间的区别。有没有办法通过终端获取流程的应用程序名称,类似于它在任务管理器中的显示方式。


我已经接受vvtx的答案,虽然它不一定回答问题,它提供了我想要做的解决方案。这只适用于Java应用程序,所以如果有人有解决方案来获取非Java进程的应用程序名称,将不胜感激。


我重新打开了这个问题,因为只有给出的答复工作,如果用户安装了JDK,这未必是这样。最终用户只能有JRE的

+0

看来你正在寻找读取每个的java.exe进程的命令行,看看哪些文件,它的执行。这应该开始:'wmic进程,其中名称='java.exe'获取命令行。 – eryksun

在窗口的命令行使用:

jps -v 
+0

尽管这并不能回答这个问题,但它提供了一个替代解决方案,可以很好地适用于我。你知道这是否适用于linux/mac,因为它带有jdk? – user

+0

是的,正如你所说的:它带有JDK。 :-) – vvtx

+0

非常感谢:) – user