【问题标题】:Is it possible to get a list of running processes using an applet?是否可以使用小程序获取正在运行的进程列表?
【发布时间】:2010-06-10 20:54:14
【问题描述】:

我想使用在浏览器中运行的 java 小程序获取正在运行的进程列表。我的理解是,只要对小程序进行签名,就可以得到这些信息。这是准确的吗?未签名的小程序可以做到这一点吗?最后,是否有任何可用的 FOS 小程序可供我查看?

谢谢。

【问题讨论】:

    标签: java applet security


    【解决方案1】:

    小程序需要在想要访问/执行本地系统资源时进行签名。这包括执行Runtime#exec()ProcessBuilder,这是获取正在运行的进程列表所必需的。

    您可以找到here 一个如何在 Windows 中获取该列表的基本示例。我建议在继续之前检查if (System.getProperty("os.name").startsWith("win"))

    将给定的示例移植到小程序中并不难,只需让类扩展 JApplet 并从 AccessController#doPrivileged() 内部执行整个代码。

    至于签署小程序,你可以签署manually,最终用户只会面临安全警告并确认是否执行,或者你可以让第三方公司签署一些$ $$,例如VeriSign,这样终端用户就不会面临安全警告了。不签名会导致小程序根本无法运行。

    【讨论】:

      【解决方案2】:

      您必须执行特定于操作系统的命令(通过 Runtime.getRuntime().exec),例如 Windows 的 tasklist.exe 和类 unix 系统的 ps

      至于安全措施,我很确定在标准的“沙盒”中是不可能的,但“特权”小程序可以做到。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-04
        • 1970-01-01
        • 1970-01-01
        • 2014-09-03
        • 1970-01-01
        • 1970-01-01
        • 2012-05-10
        相关资源
        最近更新 更多