java - 这里有人知道获取进程列表的好跨平台方法吗?

标签 java portability ada

好吧,我和一位 friend 谈论了 Ada(我是这里的本地支持者),在他的项目中,他在尝试使用 Java(使用 JNI)来让应用程序在客户端计算机上运行时遇到了困难(仅限 Windows、Mac 和 Linux)以获取应用程序列表。

我对 Mac 一点也不熟悉,我的 Linux 经验主要是学术界的用户端。

所以,我的问题是:有人知道获取进程列表的良好跨平台方法吗?

我的解决方案是使用一个package规范,其中包含一个通用函数,以Java期望的方式返回列表,并为每个平台组合三个不同的主体,以获得该过程-根据该系统列出并分别为这些目标编译(生成的)三个二进制文件。

有没有一种[好]方法可以做到这一点而无需诉诸三个不同的版本? (这是一个 Ada 问题,但欢迎使用 Java 解决方案。)

最佳答案

Java 没有跨平台 API 来列出正在运行的进程。 ProcessBuilder 可用于执行 ps命令,如图herehere 。 Ada 中的(粗略)等效项是 GNAT 中的 GNAT.Os_Lib.Spawn。我不确定其他实现。

关于java - 这里有人知道获取进程列表的好跨平台方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7801426/

相关文章:

java - 提取用于 Weka 多层感知器标准化的值

java - jsoup 发布 Java

以封装、多态和继承为特色的 Java 示例?

c++ - 在 GLUT 应用程序中隐藏控制台窗口的可移植方法?

c++ - 使用静态 SFML 库时无法链接我的项目

c# - XML 序列化和 MS/Mono 可移植性

string - Ada 字符串比较

Java swing如何在JTable中编辑双单元格

generics - 如何使用用户输入变量作为通用包的参数?

package - 艾达 : operator is not directly visible