有沒有辦法使用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. 無法在其他計算機上運行WPF應用程序
- 5. System.Data.SqlClient.SqlException在不同計算機上運行MVC codefirst應用程序
- 6. 在遠程計算機上運行.ps1
- 7. 應用程序退出後在計算機上運行的進程
- 8. 如何查找有關Mac/Cocoa/Obj-C上計算機上運行的其他應用程序的信息?
- 9. 在遠程計算機上執行應用程序
- 10. 使用GMP在學校計算機上運行程序
- 11. 在本地計算機上運行asp.NET應用程序以進行測試
- 12. 從ASP.Net/Winforms應用程序在遠程計算機上運行shell腳本
- 13. 如何在遠程計算機上運行ClickOnce應用程序(.appref-ms)?
- 14. .net 3.5應用程序是否運行在沒有3.5但有4個計算機的計算機上?
- 15. 在普通計算機上運行帶有eglfs插件的Qt應用程序
- 16. 在另一臺計算機上運行我的WinForms數據庫應用程序
- 17. 如何在局域網內的多臺計算機上運行應用程序
- 18. HTTP POST請求到在同一臺計算機上運行的應用程序?
- 19. 無法在不同的計算機上運行獨立Java Swing應用程序
- 20. 在沒有python的計算機上運行程序
- 21. 在許多不同的計算機上自動運行程序
- 22. 創建Outlook應用程序,該應用程序應在未安裝Outlook的計算機上運行
- 23. 當在另一臺計算機上運行應用程序時發生InvalidClassException
- 24. c#Windows應用程序無法在另一臺計算機上運行
- 25. 如何讓Python程序在任何計算機上運行?
- 26. 在計算機上運行c#winform程序需要什麼
- 27. Wxwidgets在另一臺計算機上運行二進制程序
- 28. NET C#應用程序在開發PC上運行良好,但不能在生產計算機上運行
- 29. Windows 8應用程序在計算機上運行,但不能在Windows平板電腦上運行
- 30. ASP.NET安裝程序無法在運行IIS7的計算機上運行
這似乎是一個安全威脅。如果你有管理員憑證,你可能會做到,但你到底在做什麼? – 2011-03-11 05:03:20
我正在嘗試創建一個桌面應用程序來跟蹤我使用的應用程序 – markjason72 2011-03-11 11:32:37