我一直在试验Process和ProcessBuilder,并附带了这个SSCCE。
import java.io.IOException;
public class TestProcess {
public static void main(String[] args) {
Process process = null;
ProcessBuilder pb = new ProcessBuilder("notepad.exe");
我实现了一个方法,其中使用processBuilder调用外部程序。如果外部进程花费的时间超过5秒(由于测试原因),我想停止该任务。
当我使用process.exec()时,实现工作得很好。但不是使用processBuilder.start()
我读了一些帖子,但它似乎不起作用,因为我不能不弄清楚我错过了什么。
方法:
ProcessBuilder processBuilder = new ProcessBuilder("/.../test.bat -a -b -c").redirectErrorStream(true);
Process process = processBu
我试图使用-version运行"java ProcessBuilder“:
processBuilder = new ProcessBuilder("java -version");
process = processBuilder.start();
然而,我得到了一个错误:
java.io.IOException: Cannot run program "java -version": CreateProcess error=2, The system cannot find the file specified
当我删除"-version“并
我正在尝试设置我的java程序运行的ulimit。目前看来,ulimit -n被设置为4096,因为当我运行这段代码(这是我的java程序的一部分)时,它会输出4096。
ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash", "-c", "ulimit -n");
try {
Process process = processBuilder.start();
// Prints 4096.
LOGGER_.info(getStringFromInputStrea
我想从Java启动一个进程,读取它的输出,并获得它的返回码。但是在它执行的时候,我希望能够取消它。我首先启动这个过程:
ProcessBuilder pb = new ProcessBuilder(args);
pb.redirectErrorStream(true);
Process proc = pb.start();
如果我调用proc.waitFor(),在进程退出之前我不能做任何事情。所以我假设我需要这样的东西:
while (true) {
see if process has exited
capture some output from the process
de
我正在寻找一种方法来重定向进程/ ProcessBuilder的输出。我知道它在Java 7中是这样工作的:
ProcessBuilder builder = new ProcessBuilder(command);
builder.redirectOutput();
Process process = builder.start();
但是我需要同样的Java5/6 ...任何帮助我都会非常感谢。
Java函数moveFile使用本机move命令将输出报告文件移动到ready目录。它之前工作得很好,但现在开始抛出磁盘空间以下的异常。但是,当我检查磁盘空间时,目录中有很多sace可用,我也做了清理。我试图重新运行它,但我仍然得到下面的错误。不确定是什么问题。
java.io.IOException: Cannot run program "mv": error=12, Not enough space
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang
当试图使用Java启动Tomcat进程时,我会收到以下错误。
java.io.IOException: Cannot run program ".\bin\catalina.bat" (in directory "C:\Users\chiranga93\Documents\GitHub\product
-as\integration-tests\target\wso2as-6.0.0-SNAPSHOT"): CreateProcess error=2, The system cannot find the file specified
at ja
我试图在GTA5.exe结束时进行搜索。它启动时使用的是“蒸汽://rungameid”协议,因此我不能使用Process#waitFor();方法。
下面的方法检查进程(当前)是否正在运行。
public static boolean isProcessRunning(String processName) throws IOException {
ProcessBuilder processBuilder = new ProcessBuilder("tasklist.exe");
Process process = processBuilde
我希望我的Java Programm 3外部程序能够运行。但它们不应该并行运行。程序1应该输出一个文件,这个文件是程序2的输入,程序2的输出应该是程序3的输入。当外部程序终止时,Java程序不应该终止:这是我的代码,但它不工作。有谁能帮帮我!
boolean var = true;
ProcessBuilder processBuilder = new ProcessBuilder("cmd", "/c",
"start", "C:\\Users\\Rosina\\Desktop\\Riss\\winlib
我有一个关于在java中创建进程的问题。主要场景是,我想在进程启动之前显示一个进度条/旋转加载器,下面是使用java启动进程的代码。 ProcessBuilder processBuilder = new ProcessBuilder("python", filename);
processBuilder.redirectErrorStream(true);
Process process = processBuilder.start(); 我如何确切地知道这个过程已经开始了。谢谢
我目前正在使用java调用bash程序。bash程序输出的消息太多,我想将它们重定向到/dev/null。但是我遇到了一个奇怪的错误,No such file or directory。
这是我的演示。
public static void main(String[] args) {
try {
// Another version I've tried:
// Process p = Runtime.getRuntime().exec("echo a > /dev/null");
如果我们在命令行中运行以下命令,它可以正常工作。但是,当我们从基于nagios的工具运行此命令时,它会出现以下错误:-
java -jar /opt/monitor/nagios/notify/REST/RestInterface.jar
/opt/monitor/nagios/notify/REST/settings.xml "2015-10-20 12:57:11" L
结果代码:1
错误输出:
java.io.IOException: Couldn't get lock for RestInterface.log
at java.ut
我需要从Java运行一个可执行文件,并在一个单独的窗口中打开它。当我不使用Java打开文件时,它工作得很好,但当我试图使用Java代码打开它时,似乎什么也没有发生。我试过使用getRuntime和ProcessBuilder。我用的线条在下面。
ProcessBuiler:
ProcessBuilder pb = new ProcessBuilder("C:\\Users\\Louis Windows\\workspace\\Py2exetest\\dist\\test.exe");
Process p = pb.start();
getRuntime:
Runtime.get
如何使用ProcessBuilder将文件输送到进程的stdin中?我正在读取流的程序是用C编写的,但我对它一无所知。
下面是相关的java:
ProcessBuilder pb = new ProcessBuilder("./program").inheritIO();
Process p = pb.start();
DataInputStream din = new DataInputStream(new FileInputStream("./my-file.txt"));
byte[] dinBytes = new byte[din.ava
有没有人玩过上的CCNx代码?
我解压项目并将javasrc目录中的.project文件加载到Eclipse中。项目构建时没有任何错误。
我想我需要启动CCNDaemon (org.ccnx.ccn.impl.support.CCNDaemon),但我在以下位置收到错误:
java.io.IOException: Cannot run program "../ccnd/agent/ccnd": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:
我有一个myfile.jar文件,我正在通过另一个ProcessBuilder程序执行该文件,并尝试使用InputStream读取jar的控制台输出,如下所示:
ProcessBuilder pb = new ProcessBuilder("java", "-jar", "myfile.jar", "arg1");
Process p = pb.start();
InputStream in = p.getInputStream();
InputStreamReader ins = new InputStreamReader(i