2017-08-17 198 views
0

我正嘗試在我的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

回答

1

在窗口的命令行使用:

jps -v 
+0

儘管這並不能回答這個問題,但它提供了一個替代解決方案,可以很好地適用於我。你知道這是否適用於linux/mac,因爲它帶有jdk? – user

+0

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

+0

非常感謝:) – user

相關問題