问题标签 [processbuilder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3472 浏览

java - 从 ProcessBuilder 调用 SCP

我在我的应用程序中使用 ProcessBuilder,我需要调用 SCP(上传文件),但我很难提供密码。如何解决这个问题?

在哪里为 SCP 添加密码?

0 投票
2 回答
805 浏览

java - 从 Java 程序执行批处理文件时出错

这是我的问题:我有一个 .bat 文件,其中包含许多命令。当我使用 processbuilder 从我的 java 程序中调用这个 bat 文件时,它开始逐行执行 .bat 文件中的命令。但是,当它到达执行 perl 程序的最后一行时,它会挂起并且程序永远不会结束。它永远挂在那里。知道为什么会发生这种情况。仅供参考,perl 代码没有问题,我可以执行

0 投票
3 回答
1383 浏览

java - 未调用 Thread 类中的 Run 方法

我是线程世界的一个新手,一个星期以来一直在尝试解决这个问题。

由于某种原因没有调用 Thread 类中的 run 方法,我不知道为什么(但很想知道)

tableSize 是一个 python 可执行文件,它通过它的标准输入接受输入,处理它并输出几行文本。我需要收集这个输出并对它做一些进一步的处理。

有一个单独的线程来处理 inputStream 和 errorStream 上的输出。这个线程类如下图所示。

由于某种原因,StreamGobbler 类中的 run 方法没有被调用。然而,这个类的构造函数正在被执行。

任何帮助将非常感激。

0 投票
4 回答
138733 浏览

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

我正在研究一种从 Java 调用 exe 并传入特定参数的机制。我能怎么做?

前面的代码有效。但我无法在. MyExe.exe 接受参数。另一个问题是当 PathToExe 有空格时。ProcessBuilder 似乎不起作用。例如:

谢谢你。

0 投票
2 回答
3679 浏览

java - 尝试使用 ProcessBuilder 执行 Java 应用程序时找不到类异常

我正在尝试通过使用来自 servlet 的 Java 的 ProcessBuilder 在 jar 文件中的类中执行 Main 方法。由于其他依赖项,我需要在单独的进程中运行它。

我收到以下异常,所以我想我没有在 arguments 数组中正确传递包和 Main 方法名称 (com.test.Main)。我不确定如何正确执行此操作。

我会很感激任何建议。谢谢。

错误 -- java.lang.NoClassDefFoundError: com/test/Main 错误 -- 原因:java.lang.ClassNotFoundException: com.test.Main 错误 -- 在 java.net.URLClassLoader$1.run(URLClassLoader.java:202)错误 -- 在 java.security.AccessController.doPrivileged(Native Method) 错误 -- 在 java.net.URLClassLoader.findClass(URLClassLoader.java:190) 错误 -- 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307 ) 错误——在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

错误——在 java.lang.ClassLoader.loadClass(ClassLoader.java:248) 错误——找不到主类:com.test.Main。程序将会退出。错误——线程“主”中的异常

这是我的代码。

0 投票
2 回答
1785 浏览

java - 管道(“|”)和 grep 在 Android 的 ProcessBuilder 中不起作用

我想在 Android 上获得总 RAM:

如果没有 grep MemTotal,cat 会返回有关内存的完整信息。当我只想用 grep 得到一行时,我什么也得不到。我怎样才能解决这个问题?我现在只想获得可用的总内存。

0 投票
1 回答
4596 浏览

java - ProcessBuilder 与 Runtime.exec()

哪一个更好?更好是指哪个具有更好的安全性等(不是易用性)。

0 投票
3 回答
369 浏览

java - 如何判断系统属性是否来自人工操作,而不是默认?

我有一个 JAR 打包的独立应用程序,它在执行时会将自身解压缩到一个临时目录中并在该目录中生成一个子进程。一些第三方代码和配置的原因是假设数据文件是相对于当前工作目录找到的,而 java 没有 chdir() 方法,所以唯一的方法是为子进程切换工作目录。

一切正常,除了系统属性。操作员可能会决定在命令行中指定一些系统属性,包括标准属性和与第三方配置相关的属性:

默认情况下,父 java 进程可用的系统属性不会传播给子进程。我应该自己做。在这里我遇到了一个障碍:我无法分辨哪些属性是由操作员设置的,哪些是由 JVM 默认初始化的。

拿那个 java.io.tmpdir 一个。如果运营商提供了它,他有充分的理由这样做(也许默认位置是“磁盘已满”)。我必须将其设置为子进程,否则它将失败。但是我怎么知道它是否来自运营商?它可能只是默认值。

我可以尝试将所有可用的系统属性设置为子进程。虽然它需要很长的列表,更糟糕的是,在命令行长度有限的某些环境中会失败。

到目前为止,我发现的唯一解决方法(非常邪恶的)是首先生成另一个子进程,根本没有任何参数,然后让它通过管道将它拥有的所有系统属性返回给父进程。与父级匹配的值是默认值。其余的应该传递给工作子进程。

有没有人有更好的选择?

0 投票
2 回答
15020 浏览

java - ProcessBuilder 重定向输出

我正在尝试使用以下代码重定向在 ProcessBuilder 的帮助下启动的进程的输出

但它异常失败

线程“主”java.io.IOException 中的异常:无法运行程序“/myScript >> /myLogFile 2>&1 <& - &”:java.io.IOException:错误=2,java.lang 中没有这样的文件或目录.ProcessBuilder.start(ProcessBuilder.java:460)

当我通过“/myScript”时它工作正常

脚本是 perl,关于它为什么失败的任何建议/评论?

我尝试将所有这些作为单独的参数传递,例如new ProcessBuilder("/myScript",">>","/myLogFile"),它会执行,但不会重定向到日志文件,也不需要 envVars。

0 投票
2 回答
1937 浏览

java - 无法在 Java 中启动任何进程(ProcessBuilder 进程立即返回,退出代码为 128)

我试图让 Java 执行另一个程序,但它会立即出错,退出代码为 128,并且没有任何内容发送到 stdout 或 stderr。我尝试了一个简单的“java -version”仍然没有运气。当我在 cmd 窗口中运行它时,它运行良好,并且此代码适用于类似配置的其他机器(Windows Server 2003 x64,Java 1.6 update 25)

在命令行上运行时:

输出:

然后我试试这段代码:

输出是: