从Java中查找进程

发布于 2024-08-01 22:03:45 字数 152 浏览 4 评论 0 原文

在 Java 中或通过某些 Eclipse 插件,是否可以通过名称找到进程,而无需下降到本机代码? 具体来说,我想确定网络浏览器是否正在运行,并让用户知道他们可能需要重新启动浏览器。

我知道本机代码始终是一种选择,但如果可以避免的话,我想避免设置另一个 JNI 库。

In Java or via some Eclipse plugin, is it possible to find a process by name without dropping down to native code? Specifically, I want to determine if a web browser is running and let the user know they may need to restart the browser.

I know native code is always an option but I want to avoid setting up another JNI library if I can avoid it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

栀梦 2024-08-08 22:03:45

这实际上是一个重复的问题,请参阅 原始的

这里有两种选择,一种是运行命令行工具,该工具将列出正在运行的进程并解析其输出。 正如 Jay 所提到的,在 Linux 上可以使用“ps”,在 Windows 上,您需要捆绑一些工具,可以是来自 GnuWin/cygwin/etc 的 ps 端口,也可以是像 PsList,或查看 示例

第二个选项,您已经知道是使用 JNI,但是您不需要从头开始编写代码,您可以考虑 JniWrapper。 它为常见的本机操作系统功能提供了易于使用的 Java API。 他们还为开源项目提供免费许可证。

It's actually a duplicate question, see the original one.

You have two options here, one is to run the command line tool that will list the running processes and parse its output. As mentioned by Jay on Linux one can use "ps", on Windows you would need to bundle some tool, either a port of ps from GnuWin/cygwin/etc or a native tool like PsList, or look at the sample.

Second option, which you already know about is to use JNI, however you don't need to write your code from scratch, you may consider JniWrapper. It provides an easy to use Java API for common native OS functions. They also provide free licenses for Open Source projects.

我还不会笑 2024-08-08 22:03:45

我不知道有什么方法可以直接从 Java 获取正在运行的进程列表。 如果您使用的是 Linux,您可以创建一个执行“ps”的进程,读取进程的输入流以拦截结果,并解析它。 您不需要深入到 JNI 级别来执行此操作:您可以使用 Process 执行 shell 命令。

I don't know any way to get a list of running processes directly from Java. If you're on Linux, you could create a Process that executes "ps", read the Process's InputStream to intercept the results, and parse it. You wouldn't need to go down to the JNI level to do that: You can execute a shell command with Process.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文