我正嘗試在我的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的
看來你正在尋找讀取每個的java.exe進程的命令行,看看哪些文件,它的執行。這應該開始:'wmic進程,其中名稱='java.exe'獲取命令行。 – eryksun