processbuilder相关内容

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

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

Java 的 ProcessBuilder 在哪里执行命令?

当我使用 ProcessBuilder 执行命令时,它如何知道在哪里查找该命令?使用 这个 hack/trick 我修改了我的 PATH 变量(通过检查 processBuilder.environment() 验证)是坏的(空的、工作目录等)但 ProcessBuilder 仍然可以执行排序、回声、bash 等.这是怎么做到的?! 注意:我的特定开发环境是 OSX,但此代码也可在 Red ..
发布时间:2022-01-02 13:11:16 Java开发

使用 ProcessBuilder 启动 CMD

我正在尝试使用以下代码在 Windows 中启动 CMD 应用程序,但它没有按预期工作.来自不同网站的几个示例表明,“cmd"作为 ProcessBuilder 构造中的参数应该可以工作. 我需要做什么才能让我的 Java 应用程序在 Windows 中打开 CMD 应用程序? 公共类 JavaTest{public static void main(String[] args){Pro ..
发布时间:2021-12-25 17:21:11 Java开发

如何使用 ProcessBuilder 设置工作目录

我正在尝试在 ubuntu 的主目录中启动一个进程.我不断收到许可被拒绝的异常,我不知道为什么.代码如下: 进程 p = null;ProcessBuilder pb = new ProcessBuilder("/home");p = pb.start(); 这里有一个例外: 线程“main"中的异常java.io.IOException:无法运行程序“/home":java.io.IOEx ..
发布时间:2021-12-12 11:59:33 Java开发

Java 中的进程构建器

我正在本页研究这个主题,但找不到解决方案,如何使用 ProcessBuilder 在 cmd 中执行程序?我想使用命令行压缩、打开、删除带有 7zip 的文件.我将此代码作为示例,但不起作用,cmd 启动但不创建压缩文件: String[] commands={"cmd.exe", "7za", "a", "-t7z", "test.7z", "Test.txt", "/C", "start"} ..
发布时间:2021-11-26 15:23:04 Java开发

从 Java 执行另一个应用程序

我需要执行一个批处理文件来执行另一个 Java 应用程序.我不在乎它是否成功执行,我不必捕获任何错误. 是否可以使用 ProcessBuilder?如果我不捕获错误会有什么后果? 但是,我的要求只是执行另一个 Java 应用程序. 解决方案 Runtime.getRuntime().exec() 方法很麻烦,你很快就会发现. 查看 Apache Commons Exec ..
发布时间:2021-11-25 17:29:55 Java开发

调用可执行文件并传递参数

我正在研究一种从 Java 调用 exe 并传入特定参数的机制.我该怎么办? Process process = new ProcessBuilder("C:\\PathToExe\\MyExe.exe").start();InputStream is = process.getInputStream();InputStreamReader isr = new InputStreamReader ..
发布时间:2021-11-25 14:56:12 Java开发

Java 中的进程构建器

我正在本页研究这个主题,但找不到解决方案,如何使用 ProcessBuilder 在 cmd 中执行程序?我想使用命令行压缩、打开、删除带有 7zip 的文件.我将此代码作为示例,但不起作用,cmd 启动但不创建压缩文件: String[] commands={"cmd.exe", "7za", "a", "-t7z", "test.7z", "Test.txt", "/C", "start"} ..
发布时间:2021-11-25 08:02:46 Java开发

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

我正在尝试使用 ProcessBuilder 从 Java 执行 javac,但没有输出,也没有任何反应.我尝试读取输入流(因为如果我不读取它会导致进程挂起的错误),但仍然没有结果.我最初将所有必需的参数传递给 javac 但它不起作用,所以我将其简化为仅 javac(应该打印帮助消息). 我试过跑步"C:\Windows\System32\cmd.exe/c C:\\"Program Fi ..
发布时间:2021-11-22 16:30:37 Java开发

流程构建器参数

final String commands[] = {"arp", "-n", "|","grep", "98:5d:ad:3d:36:ef", "|", "awk '", "{print $1}", "'"};ProcessBuilder pb = new ProcessBuilder(commands); 根据 MA​​C 地址,我想检索 IP. 当我将此命令插入终端(ubuntu 16. ..
发布时间:2021-09-05 20:36:15 Java开发

使用 Process.exec

我想在我的程序中间执行一个批处理文件(这将启动另一个 Java 应用程序).我不想等待或查看它是否成功执行,也不想从执行该批处理文件中捕获错误.启动该批处理文件后,我想做其他事情,而不是在执行该批处理后等待它. 我需要处理 stdout 和 stderr 吗?有什么办法可以摆脱对标准输出和标准错误的处理. 这是我的第二篇文章,以消除我对这个主题的困惑,所以请具体针对问题,不要抛出如何处 ..
发布时间:2021-06-21 19:57:14 Java开发

在 Java 程序中多次执行 ProcessBuilder

我想在 Java 程序中使用 ProcessBuilder,该程序将在同一程序中多次使用.为数据库中的每条记录检查此代码片段.如果只有一条记录满足开始时间/结束时间等约束,那么我没有任何问题,但是如果两条记录满足这些约束中的任何一个,那么第一条记录,它会执行 processbuilder 中的命令并将输出重定向到日志文件.记录但第二条记录,它不会执行 processbuilder 中的命令并将输出 ..
发布时间:2021-06-21 19:57:11 Java开发

Java 运行时或 Processbuilder 或其他

我想知道从 Java 运行命令行可执行文件的最佳选择是什么.命令的目标平台是 Windows 7(+) 和 Unix/Linux. 我有一个当前使用 Runtime.exec() 以及来自 JavaWorld StreamGobbler 文章的增强的类.它在 Windows 和 Unix 上大约 90% 的时间都可以工作.另外 10% 的时间我需要扩展类,然后摆弄将/bin/sh 的 cmd ..
发布时间:2021-06-21 19:57:04 Java开发