假设我使用以下代码段通过java调用命令行程序
p = Runtime.getRuntime().exec(command);
p.waitFor();
在这种情况下,将为exec调用的程序分配多少内存?它是否与分配给jvm的内存有关?如果是,我如何克服这个限制?
UPDATE
根据这个问题给出的答案,如何解决"java.io.IOException: error=12, Cannot分配内存"调用Runtime#exec()?
运行时。getRuntime()。exec使用与main相同的内存量分配进程。如果您将heap设置为1GB并尝试执行,那么它将为该进程分配另一个1GB来运行。
那么有没有什么方法可以让我为使用java调用的进程拥有更多内存?
如果像这样通过命令提示符运行命令会怎么样?
rt.exec("cmd.exe /c command");
在这种情况下,谁来决定内存限制?命令提示符还是Java?
Runtime.exec的javadoc声明该命令将在单独的进程中启动。因此,命令本身将在自己的进程中运行,并具有自己的内存,不会使用任何JVM内存。
当然,该方法还返回一个进程对象,该对象本身将使用一点JVM内存,但这只是几个变量来跟踪启动的进程,因此除非您并行启动成千上万个进程,否则这不应该是一个问题。
问题内容: 在集成到更大的应用程序之前,我正在尝试测试一个概念验证的命令行应用程序。我想要做的是使用此示例使用NSURLSession下载一些数据。但是,如果使用简单的OS X命令行应用程序中给出的示例,则该应用程序将在检索数据之前退出。 如何使用NSURLSession从独立的命令行应用程序下载数据?我所读的内容是使用NSRunLoop,但是我还没有在Swift中找到明确的示例,因此,如果NSR
问题内容: 我的程序正在获取命令行参数。使用Ant时如何通过? 问题答案: 扩展了Richard Cook的答案。 这是运行任何程序(包括但不限于Java程序)的任务: 这是从文件运行Java程序的任务: 您可以像这样从命令行调用: 确保使用语法;如果运行此命令: 然后将尝试运行目标和。
我将Spring Boot应用程序打包为可执行JAR。应用程序有一个带有main方法的实用程序类,我想通过命令行调用它,但命令似乎无法在类路径中找到该类。
我试图编译本文中的代码示例3,解释使用Gradle的Swing应用程序框架(JSR 296),并使用命令从命令行运行它。 我的目录布局如下所示: 构建。gradle文件定义了对appframework的依赖关系: 这是文件,上面提到的文章示例的副本,通过包声明增强: 使用gradle build编译工作正常,没有错误。 但是当我尝试使用 我收到错误消息: 当我用一个简单的“Hello,world!
问题内容: 在kohana框架中,我可以使用以下命令通过命令行调用控制器 是否可以通过CLI在Laravel 5中调用我想要的控制器?如果是,该怎么做? 问题答案: 到目前为止,还没有办法(不确定是否会发生)。但是,您可以创建自己的Artisan Command 来执行此操作。使用以下命令创建命令: 对于Laravel 5.3或更高版本,您需要使用: 这将在中生成命令类。该类的内容应如下所示: 然
问题内容: 我发现了几个用于通过Java类运行cmd命令的代码段,但我无法理解。 这是打开cmd的代码 我找到了一些其他链接来添加其他命令,例如cd http://www.coderanch.com/t/109753/Linux-UNIX/exec-command-cd-command-java 如何使用Java打开命令提示符并插入命令? 谁能帮助我了解如何CD目录,例如: 然后在该目录上运行其他