有沒有辦法使用java來檢測哪些應用程序在計算機上運行?我的意思是如果我運行瀏覽器,辦公應用程序和Windows資源管理器,我可以使用java來檢測這些和找到他們運行多久了?查找在計算機上運行的應用程序
回答
有沒有純粹的Java方式來做到這一點。
最簡單的方法是使用Runtime.exec(...)
來運行外部命令,以列出當前正在運行的命令的信息,然後取消生成的輸出流。您運行的命令(及其參數)和結果流的格式將與平臺相關。
@Jigar建議使用Linux的「ps」命令和Windows的「wmic」命令。 @Mahesh在Linux上提出了「頂級」,但是並沒有顯示所有的應用程序......並且它的輸出並不是真正爲此設計的。 Windows上的另一種可能性是「tasklist」;請參閱@ Jigar的鏈接頁面。
另一個問題是決定什麼構成應用程序......爲您的列表的目的。例如,「ps」和「top」不區分不同種類的過程。 (至於Linux操作系統而言,有沒有真正的區別...)
最後,它很可能是一個壞主意做這樣的是你的機器之外暴露在服務的事情;例如在一個Servlet或JSP中。讓其他人看到服務器上正在運行的是可能存在的安全風險。
tasklist.exe可以列出進程。如何僅篩選運行的應用程序,如應用程序選項卡中所示taskmanager在windows?(不是進程) – markjason72 2011-03-11 15:31:51
執行以下從Java
Linux的命令:
ps aux | less
的Windows:
wmic process get description,executablepath
另請參見
使用的Runtime.exec
方法來運行任何shell命令會得到你想要的信息之一。
錯誤地,我編輯了您的帖子。抱歉。 – Mahesh 2011-03-11 05:10:59
@Mahesh - 不用擔心。也許你可以回滾你的編輯並獲得清理徽章。 :) – 2011-03-11 05:42:21
如果您在Linux機器上運行,則top
調用會告訴您在系統上運行進程。所以,你可以對它進行系統調用。
Runtime r = Runtime.getRuntime();
r.exec("top"); // The returned stream needs to be collected.
http://javaevangelist.blogspot.com/2008/08/making-system-call-in-java.html – Mahesh 2011-03-11 05:13:39
- 1. Rails應用程序在遠程計算機上運行命令
- 2. 未在64位計算機上運行的應用程序
- 3. VB6應用程序不會在某些計算機上運行,在其他計算機上運行良好
- 4. SDL應用程序不能在其他計算機上運行
- 5. 無法在其他計算機上運行WPF應用程序
- 6. 如何在其他計算機上運行DirectShow.net應用程序
- 7. System.Data.SqlClient.SqlException在不同計算機上運行MVC codefirst應用程序
- 8. 計算機運行時運行程序
- 9. 在遠程計算機上運行QTP
- 10. 在遠程計算機上運行.ps1
- 11. 應用程序退出後在計算機上運行的進程
- 12. 如何在特定的遠程計算機上運行程序
- 13. 如何查找有關Mac/Cocoa/Obj-C上計算機上運行的其他應用程序的信息?
- 14. 在遠程計算機上執行應用程序
- 15. 使用GMP在學校計算機上運行程序
- 16. 在本地計算機上運行asp.NET應用程序以進行測試
- 17. 從ASP.Net/Winforms應用程序在遠程計算機上運行shell腳本
- 18. 如何在遠程計算機上運行ClickOnce應用程序(.appref-ms)?
- 19. 如何通過ssh在遠程計算機上運行應用程序?
- 20. 通過客戶端計算機上的應用程序在服務器上運行應用程序
- 21. VBscript檢查在多臺計算機上運行的進程
- 22. .net 3.5應用程序是否運行在沒有3.5但有4個計算機的計算機上?
- 23. 在普通計算機上運行帶有eglfs插件的Qt應用程序
- 24. 訪問僅在本地計算機上運行的ASP.NET Web應用程序
- 25. 在另一臺計算機上運行我的WinForms數據庫應用程序
- 26. 如何在局域網內的多臺計算機上運行應用程序
- 27. 如何知道在計算機上運行的特定應用程序
- 28. Windows,Mingw Qt應用程序無法在部署的計算機上運行
- 29. HTTP POST請求到在同一臺計算機上運行的應用程序?
- 30. 無法在不同的計算機上運行獨立Java Swing應用程序
這似乎是一個安全威脅。如果你有管理員憑證,你可能會做到,但你到底在做什麼? – 2011-03-11 05:03:20
我正在嘗試創建一個桌面應用程序來跟蹤我使用的應用程序 – markjason72 2011-03-11 11:32:37