如何在 Java 中访问其他计算机进程的状态? [关闭]

Posted

技术标签:

【中文标题】如何在 Java 中访问其他计算机进程的状态? [关闭]【英文标题】:How to access the state of other computer processes in Java? [closed] 【发布时间】:2014-05-09 21:23:39 【问题描述】:

我开始编写一个基本的“学习伙伴”程序作为一个副项目。我要实现的一个重要功能是程序可以访问其他正在运行的程序的状态,以防止您访问它们/对您大喊大叫。例如,如果您将 Chrome 打开到 Facebook,或者如果您启动了视频游戏。 首先,这是否可能/合理地在 Java 中完成?其次,特别是对于 Chrome,我如何从我正在编写的另一个程序中访问程序状态?更一般地说,我如何访问计算机上运行的所有程序并检查是否有任何违反“研究许可”程序的内容?

【问题讨论】:

这将是特定于操作系统的。可以做到吗?大概。可以轻松完成吗?可能不是。您将不得不附加到操作系统正在运行的进程以查看当前正在运行的内容,然后识别进程,然后知道如何轮询特定的进程,例如浏览器以查看它们是否正在执行操作。此外,您将需要一些方法来识别游戏等,其中一直在添加新游戏,因此现在您需要一个动态匹配系统,该系统会定期更新以跟上或实时更新。 【参考方案1】:

我会将此作为评论,但我的声誉点还不够。 一种方法是使用操作系统提供的命令。您可以使用

运行命令
Runtime.getRuntime().exec("<command name>");

这将为您提供相关流程,您可以获得该流程的输出,就像手动运行流程一样。然后,您可以利用输出。 基本上,如果操作系统手动为您提供这些信息,您应该能够在 Java 中获取这些信息。

【讨论】:

感谢您的帮助!至少让我开始了。

以上是关于如何在 Java 中访问其他计算机进程的状态? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Linux 如何查看进程和控制进程

Java中使用到的锁

Java并发编程(01):线程的创建方式,状态周期管理

Java并发编程(01):线程的创建方式,状态周期管理

如何在没有 root 访问权限的情况下在服务器上杀死其他人的 Python 进程?

Java基础学习——多线程