processbuilder相关内容
..
我正在使用以下代码启动流程构建器.我想知道如何将其输出重定向到 String. ProcessBuilder pb = new ProcessBuilder(System.getProperty("user.dir") + "/src/generate_list.sh", 文件名);进程 p = pb.start(); 我尝试使用 ByteArrayOutputStream 但它似乎不起作用.
..
我需要使用 ProcessBuilder 构建以下命令: "C:\Program Files\USBDeview\USBDeview.exe"/启用“我的USB设备" 我尝试使用以下代码: ArrayList测试 = 新的 ArrayList();test.add("\"C:\\Program Files\\USBDeview\\USBDeview.exe\"");test.add("/启用
..
我知道如果你在 Java 中使用 ProcessBuilder.start 来启动一个外部进程,你必须使用它的 stdout/stderr(例如参见 此处).否则外部进程在启动时挂起. 我的问题是为什么它以这种方式工作.我的猜测是 JVM 将执行进程的 stdout/stderr 重定向到管道,如果管道没有空间,则写入管道会阻塞.有意义吗? 现在我想知道为什么 Java 这样做.这种设
..
当我使用 ProcessBuilder 执行命令时,它如何知道在哪里查找该命令?使用 这个 hack/trick 我修改了我的 PATH 变量(通过检查 processBuilder.environment() 验证)是坏的(空的、工作目录等)但 ProcessBuilder 仍然可以执行排序、回声、bash 等.这是怎么做到的?! 注意:我的特定开发环境是 OSX,但此代码也可在 Red
..
我正在尝试打开一个 shell (xterm) 并与之交互(编写命令并读取 shell 的输出) 这是一个不起作用的代码示例: public static void main(String[] args) 抛出 IOException {Process pr = new ProcessBuilder("xterm").start();PrintWriter pw = new PrintWr
..
我正在我的 Java 应用程序中使用 ProcessBuilder 创建进程.创建的进程执行一些 FFMPEG 命令,这些命令实际上将 RTSP 流复制到指定的目标媒体文件中. ProcessBuilder builder = new ProcessBuilder(“ffmpeg", “-i", RTSP_URL, “-f", fileFormat, destFilePath);进程 proce
..
我正在尝试使用以下代码在 Windows 中启动 CMD 应用程序,但它没有按预期工作.来自不同网站的几个示例表明,“cmd"作为 ProcessBuilder 构造中的参数应该可以工作. 我需要做什么才能让我的 Java 应用程序在 Windows 中打开 CMD 应用程序? 公共类 JavaTest{public static void main(String[] args){Pro
..
我正在尝试在 ubuntu 的主目录中启动一个进程.我不断收到许可被拒绝的异常,我不知道为什么.代码如下: 进程 p = null;ProcessBuilder pb = new ProcessBuilder("/home");p = pb.start(); 这里有一个例外: 线程“main"中的异常java.io.IOException:无法运行程序“/home":java.io.IOEx
..
我正在本页研究这个主题,但找不到解决方案,如何使用 ProcessBuilder 在 cmd 中执行程序?我想使用命令行压缩、打开、删除带有 7zip 的文件.我将此代码作为示例,但不起作用,cmd 启动但不创建压缩文件: String[] commands={"cmd.exe", "7za", "a", "-t7z", "test.7z", "Test.txt", "/C", "start"}
..
我需要执行一个批处理文件来执行另一个 Java 应用程序.我不在乎它是否成功执行,我不必捕获任何错误. 是否可以使用 ProcessBuilder?如果我不捕获错误会有什么后果? 但是,我的要求只是执行另一个 Java 应用程序. 解决方案 Runtime.getRuntime().exec() 方法很麻烦,你很快就会发现. 查看 Apache Commons Exec
..
我已经使用以下代码启动了一个流程 ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "path");尝试 {进程 p = pb.start();}catch (IOException ex) {} 现在我需要知道我刚刚启动的进程的 pid. 解决方案 自从 Java 9 类 Process 有了新方法 long pid(),所以它
..
我正在研究一种从 Java 调用 exe 并传入特定参数的机制.我该怎么办? Process process = new ProcessBuilder("C:\\PathToExe\\MyExe.exe").start();InputStream is = process.getInputStream();InputStreamReader isr = new InputStreamReader
..
我正在尝试从 java 代码执行外部命令,但我注意到 Runtime.getRuntime().exec(...) 和 new ProcessBuilder 之间存在差异(...).start(). 使用 Runtime 时: Process p = Runtime.getRuntime().exec(installation_path +卸载路径 +卸载命令 +卸载参数);p.waitF
..
我正在本页研究这个主题,但找不到解决方案,如何使用 ProcessBuilder 在 cmd 中执行程序?我想使用命令行压缩、打开、删除带有 7zip 的文件.我将此代码作为示例,但不起作用,cmd 启动但不创建压缩文件: String[] commands={"cmd.exe", "7za", "a", "-t7z", "test.7z", "Test.txt", "/C", "start"}
..
我正在尝试使用 ProcessBuilder 从 Java 执行 javac,但没有输出,也没有任何反应.我尝试读取输入流(因为如果我不读取它会导致进程挂起的错误),但仍然没有结果.我最初将所有必需的参数传递给 javac 但它不起作用,所以我将其简化为仅 javac(应该打印帮助消息). 我试过跑步"C:\Windows\System32\cmd.exe/c C:\\"Program Fi
..
final String commands[] = {"arp", "-n", "|","grep", "98:5d:ad:3d:36:ef", "|", "awk '", "{print $1}", "'"};ProcessBuilder pb = new ProcessBuilder(commands); 根据 MAC 地址,我想检索 IP. 当我将此命令插入终端(ubuntu 16.
..
我想在我的程序中间执行一个批处理文件(这将启动另一个 Java 应用程序).我不想等待或查看它是否成功执行,也不想从执行该批处理文件中捕获错误.启动该批处理文件后,我想做其他事情,而不是在执行该批处理后等待它. 我需要处理 stdout 和 stderr 吗?有什么办法可以摆脱对标准输出和标准错误的处理. 这是我的第二篇文章,以消除我对这个主题的困惑,所以请具体针对问题,不要抛出如何处
..
我想在 Java 程序中使用 ProcessBuilder,该程序将在同一程序中多次使用.为数据库中的每条记录检查此代码片段.如果只有一条记录满足开始时间/结束时间等约束,那么我没有任何问题,但是如果两条记录满足这些约束中的任何一个,那么第一条记录,它会执行 processbuilder 中的命令并将输出重定向到日志文件.记录但第二条记录,它不会执行 processbuilder 中的命令并将输出
..
我想知道从 Java 运行命令行可执行文件的最佳选择是什么.命令的目标平台是 Windows 7(+) 和 Unix/Linux. 我有一个当前使用 Runtime.exec() 以及来自 JavaWorld StreamGobbler 文章的增强的类.它在 Windows 和 Unix 上大约 90% 的时间都可以工作.另外 10% 的时间我需要扩展类,然后摆弄将/bin/sh 的 cmd
..