processbuilder相关内容

问题ProcessBuilder运行脚本sh

尝试使用以下代码执行脚本: String command =“./ myScript.sh”; pb = new ProcessBuilder(command,param1,param2); pb.directory(目录); pb.start(); 我没有收到任何错误,但是没有出现假设的结果。无论如何,我尝试在终端中运行相同的命令,直接,并且一切正常。 ..
发布时间:2019-01-09 21:11:05 Java开发

正确使用ProcessBuilder

在研究之后我注意到使用java的ProcessBuilder的“正确”方法是生成另外两个线程来管理新创建的进程的stdout / stderr,这样它就不会挂起,如下所示: javaworld文章 但是这让我想知道2个问题 - 1.)为什么需要单独的进程而不是让父进程吞噬stdout和那么顺序stderr? 2。)另外,如果你要将流重定向到两者都转到stdout只是让父进程吞下了s ..
发布时间:2019-01-08 12:37:04 Java开发

无法使用Windows 7下的ProcessBuilder在Java中执行javac或其他命令行应用程序

我正在尝试使用ProcessBuilder从Java执行javac,但我没有输出,也没有任何反应。我尝试读取输入流(因为如果我不读它就会出现进程挂起的错误),但仍然没有结果。我最初将所有必需的参数传递给javac,但它没有工作,所以我把它简化为javac(应该打印帮助信息)。 我试过运行 “C:\ Windows \ System32 \ cmd.exe / c C:\\”Program ..
发布时间:2018-12-22 20:38:54 Java开发

java进程'inputStream卡住了

这是我的方案: 进程A生成子进程B并旋转线程以排出B的输出。 进程B生成守护进程C并排空其输出。 进程B结束,守护进程仍然存在。 进程A发现进程B通过process.waitFor()退出。但是,它仍然在阅读进程B的输入流。这是因为B启动了一个守护进程。只有当进程C退出时,输入流才会收到EOF。 这只发生在Windows上。我正在使用ProcessBuilder。以下是我提出的解 ..
发布时间:2018-12-21 19:42:54 Java开发

没有重定向StdOut的Processbuilder

是否可以将输出流重定向回流程,或者根本不重定向? 背景故事: 我正试图启动使用processbuilder的可执行文件。 (确切地说是源专用服务器/ srcds.exe) 作为使用processbuilder启动它的结果,此可执行文件的控制台窗口保持为空。启动后几秒钟,可执行文件崩溃时出现错误“CTextConsoleWin32 :: GetLine:!GetNumberOfCon ..
发布时间:2018-12-20 23:23:17 Java开发

使用ProcessBuilder运行.java文件

我是一名在Windows XP上使用Eclipse工作的新手程序员,我需要运行多个进程(这将是一个多计算机系统的模拟)。我最初的hackup使用了多个线程到多个类,但现在我正在尝试用进程替换线程。 从我的阅读中,我发现ProcessBuilder是要走的路。我已经尝试了下面看到的很多很多版本的输入,但在我的生活中无法弄清楚如何正确使用它。我试图运行我以前创建的.java文件作为类(我已经修改 ..
发布时间:2018-12-19 21:46:34 Java开发

使用Java 7中的ProcessBuilder构建流程管道

我一直试图弄清楚如何使用新的 ProcessBuilder 在Java中管理一些进程。我找不到一个合适的例子来说明我想要做什么,当我尝试自己做这个过程时,这个过程就会挂起。我将非常感谢一些运行相当于 cat test.txt |的代码的简单示例wc ,但不是通过shell。 - 更新 - 好的,只是澄清一下。我知道有一些方法可以通过读写流来模拟管道。我想知道是否通过 redirectI ..
发布时间:2018-12-07 19:33:59 Java开发

使用Runtime.exec / ProcessBuilder.start以低优先级启动Java进程?

我正在尝试使用ProcessBuilder类通过Java启动外部进程,这很有用。目前正在使用以下命令运行: new ProcessBuilder(“java”,“ - jar”,jarfile,args); 我想做的只是这个,但要以低优先级启动流程。我的程序目前只在Windows上运行,所以我可以使用特定于窗口的解决方案。一些研究建议我使用“start”命令,但是当我尝 ..
发布时间:2018-12-06 14:09:19 Java开发

如果父进程不在Java中使用stdout / stderr,为什么进程会挂起?

我知道如果你在Java中使用 ProcessBuilder.start 来启动一个外部进程,你必须使用它的stdout / stderr(例如见此处)。否则外部进程会在开始时挂起。 我的问题是为什么它以这种方式工作。我的猜测是JVM将执行过程的stdout / stderr重定向到管道,如果管道没有空间,则对管道的写入阻塞。它有意义吗? 现在我想知道为什么 Java会这样做。这个设计背 ..
发布时间:2018-11-29 19:27:01 Java开发