processbuilder

java.io.StreamCorruptedException:在子进程和父进程通信时写入子进程中的标准输出时流标头无效,ProcessBuilder

我有一个代码段,其中创建了一个新的子进程,并且需要将一些新的进程操作结果从子进程发送到父进程。因此,我为子类ObjectOutputStream stream = new ObjectOutputStream(System.out); 的标准输出创建了一个新的 ObjectOutputStream,并将子进程中的对象序列化并发送到父进程,反序列化在父进程中完成。 它运行良好,没有任何问题。但是当... »

在java中创建一个后台进程

我想创建一个后台进程,该进程将在后台 24*7 运行,并具有唯一的名称/标识符,以便我可以引用该进程并在我喜欢的时候终止它。该过程将执行一些任务以及锁定文件数据库。 我可以得到一些关于如何实现这一点的想法/代码吗?... »

java: 将文件添加到 jar 目录

我正在做一个项目,该项目需要用户上传一个 Java 文件,该文件以后可以编译成一个类文件。我已经编写了将文件上传到项目文件夹的代码。它在使用 Eclipse 启动时完美运行。当我将项目打包为 JAR 时出现问题。代码抛出异常。我明白原因了..当我们打包项目时,JAR中只加载了类文件而不加载源文件,JAR文件的位置也有所不同。 让我解释一下我做了什么以及我需要做什么: 在项目的 IDE 版本中,... »

Java - 带有密码的 ProcessBuilder rsync 命令失败

我正在尝试通过 rsync 传输文件。 这是我的 sn-p: ProcessBuilder builder = new ProcessBuilder("rsync", "-az", "-e", "ssh -q -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oPubkeyAuthentication=no", usernam... »

Java 中的路径与 ProcessBuilder

我有这行代码: new ProcessBuilder(C:\\Program Files\\7-Zip\\7zFM.exe); 但是,如果我在另一台电脑上以不同的路径运行我的应用程序,我想知道,如果他们安装了 7zip,我怎么知道这条路径?谢谢。 ... »

使用带有参数列表的 ProcessBuilder 作为单个字符串

我尝试从Runtime.exec(command) 切换到ProcessBuilder 以从Java 程序执行ImageMagick 的convert。转换的选项是从用户作为字符串传入的,所以我不能轻易地分离参数以将它们单独传递给ProcessBuilder 的构造函数。在(Unix)命令行上工作的实际命令是 convert -colorspace gray -enhance -density ... »

如何让 java 在 Mac 上运行终端命令? (回声命令)

你如何在 Mac 上运行 java 运行命令?我看到了一些难以理解的复杂命令示例。如果我想从 java 运行一个简单的 echo 命令,我该怎么做?还没有使用 osascript。只是想看看如何将回显从 java 发送到终端。 public static void main(String[] args) throws IOException { ProcessBuilder x = ne... »

无法使用 processbuilder 运行 java 命令

我正在尝试从另一个 java 程序运行一个 java 类文件。 这是我的程序: import java.io.File; import java.io.IOException; import java.lang.ProcessBuilder.Redirect; public class RunJava { public static void main(String[] args) ... »

使用流程构建器启动可运行的 jar [关闭]

如何在流程构建器中编写此命令。我尝试了不同的组合,但没有任何效果。 /Users/rawfodog/Documents/OpenJRE11/Contents/Home/bin/Java -jar --module-path /Users/rawfodog/Downloads/AllLibrary --add-modules=javafx.controls,javafx.fxml /Users/ra... »

使用java将对象属性传递给bash脚本

目前我正在尝试使用 Swing 的文件选择器创建一个桌面应用程序,该应用程序将使用 cygwin 将特定类型的文件转换为另一种文件。相关代码部分是: String[] cmd = new String[]{"C:\\cygwin64\\bin\\mintty.exe", "/cygdrive/c/Users/orhun.vatansever/workspace/extchangegui/src/... »

流程构建器参数

final String commands[] = {"arp", "-n", "|" ,"grep", "98:5d:ad:3d:36:ef", "|", "awk '", "{print $1}", "'"}; ProcessBuilder pb = new ProcessBuilder(commands); 给定 MAC 地址,我想检索 IP。 当我将此命令插入终端(ubuntu ... »

在java中使用进程构建器运行shell脚本

我正在尝试运行一个 shell 命令 - cat input.txt | shellscript.sh 如您所见,shell 脚本需要输入,所以我创建了一个输入 txt。 此命令在终端中运行良好。但我不确定它在 java 中是如何工作的。 为了完成这项工作,我制作了另一个名为 command.sh 的脚本,它只有这个 shell 命令 - cat input.txt | shellscr... »

如何将上下文菜单参数传递给 Java ProcessBuilder

我正在使用 Java ProcessBuilder 在 Windows 上打开带有特定程序的文件。 它本身工作正常,使用以下代码: ProcessBuilder p = new ProcessBuilder(); p.command("C:\\Program Files (x86)\\...\\program.exe", file.getAbsolutePath()); 我想做的是从该程... »

以其他用户身份运行流程构建器脚本

我在我的实例中运行 su 命令 su - myuser 但我不确定如何以该用户身份运行脚本 String cmd = script.getScriptPath() + "/" + script.getScriptName(); ProcessBuilder pb = new ProcessBuilder(cmd); Process p = pb.start(); // wait for scri... »

Java 卷曲响应

我有一个与 java ProcessBuilder 一起使用的 curl 命令。 curl 命令在命令行返回以下 JSon 示例: {"Token":{"urlString":"JAAIZ2phZWhybGkIZ2phZWhybGkAigFZ1UOgr4oBWflQJK}} 使用下面的java代码,读取的行总是空的,我不明白为什么。 ProcessBuilder pb = new Pro... »

Processbuilder 不重定向 StdOut

是否可以将输出流重定向回进程,或者根本不重定向? 背景故事: 我正在尝试使用 processbuilder 启动可执行文件。 (确切地说是源专用服务器/srcds.exe) 由于使用 processbuilder 启动它,这个可执行文件的控制台窗口仍然是空的。启动几秒钟后,可执行文件崩溃并显示错误“CTextConsoleWin32::GetLine: !GetNumberOfConsoleI... »

Process Builder waitFor() 问题和打开文件限制

我继承了一些代码: Process p = new ProcessBuilder("/bin/chmod", "777", path).start(); p.waitFor(); 基本上,出于某些古老且高度基于巫术的原因,将键/值对作为文件存储在磁盘上。我真的不想进入它。 但是,我留下了一堆 IO 异常: Exception :Cannot run program "/bin/chmod... »

如何使用 JAVA 代码通过终端选择目录路径和触发命令

如何选择目录的路径,然后使用 JAVA 编码触发一组命令。 例如,我想停止和启动tomcat服务器(终端), 1. cd home/softwares/tomcat/bin 2. sh shutdown.sh 3. sh startup.sh 我从用户那里获取路径(1)作为输入。如果我使用进程生成器,它会显示错误,因为 cd 不是正确的命令。请任何人给我一个解决方案。提前致谢。... »

使用带有输入和输出流的 ProcessBuilder 的 Java 程序不起作用

我在 Stack Overflow 上搜索过类似的问题,但是,我似乎无法完成这项工作。 我有一个必须使用 ProcessBuilder 来加载 C 可执行文件的 java 程序。该文件仅通过 CLI 接受字符串并将其转换为大写。 java 程序使用 ProcessBuilder 创建一个系统进程来管理这个可执行文件,并且必须发送字符串并接收转换后的字符串以在 CLI 中打印它。 这是 uppe... »