112得票12回答
ProcessBuilder:在不阻塞主线程的情况下转发已启动进程的stdout和stderr

我正在使用ProcessBuilder在Java中构建一个进程,如下所示:ProcessBuilder pb = new ProcessBuilder() .command("somecommand", "arg1", "arg2") .redirectErro...

111得票4回答
ProcessBuilder和Runtime.exec()的区别

我正在尝试从Java代码中执行外部命令,但我注意到在使用 Runtime.getRuntime().exec(...) 和 new ProcessBuilder(...).start() 时存在差异。 当使用 Runtime 时:Process p = Runtime.getRuntime()...

90得票5回答
调用可执行文件并传递参数。

我正在找到一种从Java调用可执行文件并传递特定参数的机制。我该怎么做?Process process = new ProcessBuilder("C:\\PathToExe\\MyExe.exe").start(); InputStream is = process.getInputStre...

88得票18回答
如何在Java程序中获取刚启动的进程的PID?

我用以下代码启动了一个进程 ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "path"); try { Process p = pb.start(); } catch (IOException ex) {...

87得票13回答
如何将ProcessBuilder的输出重定向到字符串?

我正在使用以下代码启动进程构建器。我想知道如何将其输出重定向到一个String。 我正在使用如下代码启动一个进程构建器,我想知道如何将它的输出重定向到一个String。ProcessBuilder pb = new ProcessBuilder( System.getProperty...

44得票2回答
ProcessBuilder在执行时出现“没有这样的文件或目录”的错误,而Runtime().exec()却正常工作。

我有一个运行在Playframework上的应用程序,需要对一些视频文件进行编码。我使用了 Process pr = Runtime.getRuntime().exec(execCode) 对于这个问题(它完美地工作),但是因为我需要输出流和错误流,所以我尝试使用ProcessBuild...

42得票1回答
如何在Equinox中运行一个子进程并进行动态捆绑安装?

我有一个运行在OSGi/Equinox中的Java应用程序。从这个应用程序,我需要产生Java子进程(例如通过ProcessBuilder.start()),它们也在OSGi/Equinox中运行,以便正确处理类加载。该子进程将需要多个bundle,因此我希望有一种相当动态的方式来安装这些bu...

38得票1回答
如何使用ProcessBuilder设置工作目录

我试图在我的Ubuntu家目录中启动一个进程。但是我一直收到"Permission denied"的异常,而我不知道为什么。以下是代码:Process p = null; ProcessBuilder pb = new ProcessBuilder("/home"); p ...

38得票10回答
Java ProcessBuilder:生成的进程挂起

我一直在尝试使用Java的ProcessBuilder在Linux上启动一个应用程序,让它长时间运行。该程序的运行方式是启动一个命令(在这种情况下,我正在启动一个媒体播放应用程序),允许它运行,并检查以确保它没有崩溃。例如,检查PID是否仍处于活动状态,如果已经死亡,则重新启动进程。 我现在...

29得票9回答
Java在System.exit()之后仍然运行的原因是什么?

我有一个Java程序,通过另一个Java程序的ProcessBuilder启动。子程序调用System.exit(0),但是对于一些用户(在Windows上),与子程序关联的java.exe进程没有终止。子程序没有关闭挂钩(shutdown hooks),也没有可能阻止System.exit(...