2015-07-20 31 views
0

其實我通過WOMonitor 5.4運行webobjects程序。如果我通過WOMonitor執行程序,那麼在實例啓動後,它會創建另外兩個在任務管理器中作爲進程運行的exe文件(即cmd.exe * 32和conhost.exe * 32),並消耗更多的內存。例如,它創建一個cmd.exe * 32和conhost.exe * 32,但在服務器上啓動100或200個實例,因此創建更多cmd.exe * 32和conhost.exe * 32。所以請任何人幫助我。如何在執行java程序後使用java代碼關閉當前創建的cmd.exe * 32和conhost.exe * 32?

注:我想通過Java程序看看,如果我運行一個Java程序已經執行了多少個進程?如果任何機構有任何方法和Java程序,請發送給我,因爲這會幫助我。

回答

0

通過使用與通常用於使用命令提示符終止進程相同類型的命令,您應該可以使用Runtime.exec(String command)來執行此操作。

Runtime.getRuntime().exec("taskkill cmd.exe*32"); 

如果你想檢查創建哪些流程,你可以解析的tasklist命令結果。

Program tasklist = Runtime.getRuntime().exec("tasklist"); 
InputStream programOutput = tasklist.getInputStream(); 
// parse programOutput in whatever way you want 
+0

此方法將殺死所有運行的cmd.exe * 32。但我的擔心是其他。 – Samdani

+0

我想殺死那些已經由當前程序創建的cmd。假設我運行了2程序A和B都生成了cmd,並且我想通過程序A和程序B的cmd來殺死A的cmd(即通過它自己的程序) – Samdani