首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找在计算机中运行的应用程序

问查找在计算机中运行的应用程序
EN

Stack Overflow用户
提问于 2011-03-11 13:01:21
回答 4查看 386关注 0票数 0

有没有办法使用java来检测哪些应用程序正在电脑上运行?我的意思是,如果我运行的是浏览器、office应用程序和windows资源管理器,我能否使用java来检测这些应用程序并找出它们运行了多长时间?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-11 13:45:24

没有纯Java方法可以做到这一点。

最简单的方法是使用Runtime.exec(...)运行外部命令,以列出当前正在运行的命令的信息,然后取消选择生成的输出流。您运行的命令(及其参数)和结果流的格式将是特定于平台的。

@Jigar建议在Linux上使用"ps“命令,在Windows上使用"wmic”命令。@Mahesh建议在Linux上使用"top“,但这并不能显示所有应用程序...它的输出实际上并不是为此目的而设计的。Windows上的另一种可能是"tasklist";请参阅@Jigar的链接页面。

另一个问题是决定什么构成应用程序……为了你的上市目的。例如,"ps“和"top”没有区分不同类型的进程。(就Linux操作系统而言,没有真正的区别……)

最后,在机器外部公开的服务中做这类事情可能不是一个好主意;例如,在Servlet或JSP中。让其他人看到您的服务器上正在运行的内容可能会带来安全风险。

票数 0
EN

Stack Overflow用户

发布于 2011-03-11 13:04:19

从java执行以下命令

Linux:

代码语言:javascript
复制
ps aux | less

Windows:

代码语言:javascript
复制
wmic process get description,executablepath

另请参阅

票数 2
EN

Stack Overflow用户

发布于 2011-03-11 13:05:24

使用其中一个Runtime.exec方法来运行任何能让您获得所需信息的shell命令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5269142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档