运行 来自 Java 的 "sandbox" 中的可执行文件
Running an executable inside a "sandbox" from Java
我有一个调用外部二进制文件的 java 应用程序。这个二进制文件不太考虑它消耗的资源,有时会使我的 Java 应用程序变慢。
有没有一种方法可以预定义一个资源沙箱,我可以将这个二进制文件限制在其中?关于如何防止此二进制文件干扰我的应用程序,您还有其他建议吗?
AFAIK,不,没有办法做到这一点。当然,不是纯/便携Java。 (Java 沙盒是关于管理不可信代码可以做什么,而不是管理它可以使用多少资源。)
事实上,我认为甚至没有可靠的方法来限制外部进程使用的 CPU 资源。
我能想到的最接近的是试图控制线程(或进程)的优先级;请参阅 Thread.setPriority(...)
方法。
我有一个调用外部二进制文件的 java 应用程序。这个二进制文件不太考虑它消耗的资源,有时会使我的 Java 应用程序变慢。
有没有一种方法可以预定义一个资源沙箱,我可以将这个二进制文件限制在其中?关于如何防止此二进制文件干扰我的应用程序,您还有其他建议吗?
AFAIK,不,没有办法做到这一点。当然,不是纯/便携Java。 (Java 沙盒是关于管理不可信代码可以做什么,而不是管理它可以使用多少资源。)
事实上,我认为甚至没有可靠的方法来限制外部进程使用的 CPU 资源。
我能想到的最接近的是试图控制线程(或进程)的优先级;请参阅 Thread.setPriority(...)
方法。