【发布时间】:2016-02-01 11:31:48
【问题描述】:
我正在尝试做的是一个程序来了解它是否在Windows 上处于活动状态的进程以在Java 中使用它。我上网查了一下,发现了两种不同的解决方案:
但这根本不是我想要的。
根据选项 1,我想要一种方法来引用该进程(并检测它是否处于活动/运行状态),但无需搜索完整的 tasklist 然后搜索它。我正在寻找是否有直接的方法来做到这一点。
我也向任务列表添加了一个过滤器,但找不到任何过滤器来仅获取我正在寻找的过程。我在命令行上看到了所有使用 tasklist /? 的选项。
然后我搜索了有关第二个选项和wmic(我以前从未听说过)的信息,似乎wmic 允许您在命令行上执行任务(如果我错了请纠正我)。
所以,我有两个问题:
有没有直接的方法可以知道一个进程是否在 Windows 上使用 Java 处于活动状态?尽量避免在完整的任务列表中搜索或使用
wmic。如果不可能,如果我们谈论高效编程,我在上面提出的两个选项中哪一个会更好?
提前致谢!
【问题讨论】:
-
可以使用Java Native导入Process32Next()来枚举进程。例如:stackoverflow.com/q/9877993/1207195
-
听起来你在这里设计了一个完整的假系统。你真正想解决什么问题?