本文整理了Java中java.lang.ProcessBuilder.command()
方法的一些代码示例,展示了ProcessBuilder.command()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ProcessBuilder.command()
方法的具体详情如下:
包路径:java.lang.ProcessBuilder
类名称:ProcessBuilder
方法名:command
[英]Returns this process builder's current program and arguments. Note that the returned list is not a copy and modifications to it will change the state of this instance.
[中]返回此process builder的当前程序和参数。请注意,返回的列表不是副本,对其进行修改将更改此实例的状态。
代码示例来源:origin: gocd/gocd
public ProcessRunner command(String... command) {
builder.command(command);
return this;
}
代码示例来源:origin: SonarSource/sonarqube
/**
* @see java.lang.ProcessBuilder#command(List)
*/
@Override
public ProcessBuilder command(List<String> commands) {
builder.command(commands);
return this;
}
代码示例来源:origin: SonarSource/sonarqube
/**
* @see java.lang.ProcessBuilder#command()
*/
@Override
public List<String> command() {
return builder.command();
}
代码示例来源:origin: robovm/robovm
/**
* Changes the program and arguments of this process builder.
*
* @param command
* the new operating system program and its arguments.
* @return this process builder instance.
*/
public ProcessBuilder command(String... command) {
return command(new ArrayList<String>(Arrays.asList(command)));
}
代码示例来源:origin: gocd/gocd
public int run() throws IOException, InterruptedException {
File workingDir = builder.directory() == null ? new File(".") : builder.directory();
System.out.println(String.format("Trying to run command: %s from %s", Arrays.toString(builder.command().toArray()), workingDir.getAbsolutePath()));
Process process = builder.start();
int exitCode = process.waitFor();
System.out.println("Finished command: " + Arrays.toString(builder.command().toArray()) + ". Exit code: " + exitCode);
if (exitCode != 0) {
if (failOnError) {
throw new RuntimeException(String.format("Command exited with code %s. \n Exception: %s", exitCode, IOUtils.toString(process.getErrorStream())));
} else {
LOGGER.error("Command exited with code {}. \n Exception: {}", exitCode, IOUtils.toString(process.getErrorStream()));
}
}
return exitCode;
}
}
代码示例来源:origin: apache/flink
public static AutoClosableProcess runNonBlocking(String step, String... commands) throws IOException {
LOG.info("Step Started: " + step);
Process process = new ProcessBuilder()
.command(commands)
.inheritIO()
.start();
return new AutoClosableProcess(process);
}
代码示例来源:origin: skylot/jadx
if (os.contains("win")) {
new ProcessBuilder()
.command(new String[]{"rundll32", "url.dll,FileProtocolHandler", url})
.start();
return;
.command(new String[]{"open", url})
.start();
return;
if (env.get("BROWSER") != null) {
new ProcessBuilder()
.command(new String[]{env.get("BROWSER"), url})
.start();
return;
代码示例来源:origin: apache/flink
public static void runBlocking(String step, Duration timeout, String... commands) throws IOException {
LOG.info("Step started: " + step);
Process process = new ProcessBuilder()
.command(commands)
.inheritIO()
.start();
try (AutoClosableProcess autoProcess = new AutoClosableProcess(process)) {
final boolean success = process.waitFor(timeout.toMillis(), TimeUnit.MILLISECONDS);
if (!success) {
throw new TimeoutException();
}
} catch (TimeoutException | InterruptedException e) {
throw new RuntimeException(step + " failed due to timeout.");
}
LOG.info("Step complete: " + step);
}
代码示例来源:origin: stackoverflow.com
Process p = new ProcessBuilder().inheritIO().command("command1").start();
代码示例来源:origin: prestodb/presto
@Override
public Atop create(AtopTable table, ZonedDateTime date)
{
checkArgument(date.getZone().getRules().equals(timeZone.getRules()), "Split date (%s) is not in the local timezone (%s)", date.getZone(), timeZone);
ProcessBuilder processBuilder = new ProcessBuilder(executablePath);
processBuilder.command().add("-P");
processBuilder.command().add(table.getAtopLabel());
processBuilder.command().add("-r");
processBuilder.command().add(DATE_FORMATTER.format(date));
Process process;
try {
process = processBuilder.start();
}
catch (IOException e) {
throw new PrestoException(ATOP_CANNOT_START_PROCESS_ERROR, format("Cannot start %s", processBuilder.command()), e);
}
return new AtopProcess(process, readTimeout, executor);
}
代码示例来源:origin: prestodb/presto
public static Pager create(List<String> command)
{
try {
Process process = new ProcessBuilder()
.command(command)
.redirectOutput(ProcessBuilder.Redirect.INHERIT)
.redirectError(ProcessBuilder.Redirect.INHERIT)
.start();
return new Pager(process.getOutputStream(), process);
}
catch (IOException e) {
System.err.println("ERROR: failed to open pager: " + e.getMessage());
return createNullPager();
}
}
代码示例来源:origin: jenkinsci/jenkins
final Thread t2 = new StreamCopyThread(pb.command()+": stderr copier", proc.getErrorStream(), out);
t2.start();
return new Channel("locally launched channel on "+ pb.command(),
Computer.threadPoolForRemoting, proc.getInputStream(), proc.getOutputStream(), out) {
代码示例来源:origin: wildfly/wildfly
/**
* Add a command string supplier result to the list of command strings. If the supplier returns {@code null} or
* an empty string, no string is added at that time. The supplier is evaluated every time a command is run.
*
* @param commandStringSupplier the string supplier to get the string from (must not be {@code null})
* @return this builder
*/
public Builder addCommand(Supplier<String> commandStringSupplier) {
checkNotNullParam("commandString", commandStringSupplier);
builderProcessor = builderProcessor.andThen(pb -> {
final String string = commandStringSupplier.get();
if (string != null && ! string.isEmpty()) pb.command().add(string);
return pb;
});
return this;
}
代码示例来源:origin: stanfordnlp/CoreNLP
public BZip2PipedOutputStream(String filename, OutputStream err) throws IOException {
String bzip2 = System.getProperty("bzip2", "bzip2");
String cmd = bzip2; // + " > " + filename;
//log.info("getBZip2PipedOutputStream: Running command: "+cmd);
ProcessBuilder pb = new ProcessBuilder();
pb.command(cmd);
this.process = pb.start();
this.filename = filename;
OutputStream outStream = new FileOutputStream(filename);
errWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(err)));
outGobbler = new ByteStreamGobbler("Output stream gobbler: " + cmd + " " + filename,
process.getInputStream(), outStream);
errGobbler = new StreamGobbler(process.getErrorStream(), errWriter);
outGobbler.start();
errGobbler.start();
}
代码示例来源:origin: wildfly/wildfly
/**
* Add a command string to the list of command strings.
*
* @param commandString the literal string to add (must not be {@code null})
* @return this builder
*/
public Builder addCommand(String commandString) {
checkNotNullParam("commandString", commandString);
checkNotEmptyParam("commandString", commandString);
builderProcessor = builderProcessor.andThen(pb -> {
pb.command().add(commandString);
return pb;
});
return this;
}
代码示例来源:origin: facebook/stetho
private void doKill(DumperContext dumpContext, Iterator<String> argsIter) throws DumpException {
String signal = ArgsHelper.nextOptionalArg(argsIter, OPTION_KILL_DEFAULT);
try {
Process kill = new ProcessBuilder()
.command("/system/bin/kill", "-" + signal, String.valueOf(android.os.Process.myPid()))
.redirectErrorStream(true)
.start();
// Handle kill command output gracefully in the event that the signal delivered didn't
// actually take out our process...
try {
InputStream in = kill.getInputStream();
Util.copy(in, dumpContext.getStdout(), new byte[1024]);
} finally {
kill.destroy();
}
} catch (IOException e) {
throw new DumpException("Failed to invoke kill: " + e);
}
}
代码示例来源:origin: com.h2database/h2
private static int exec(String... args) {
ByteArrayOutputStream buff = new ByteArrayOutputStream();
try {
ProcessBuilder builder = new ProcessBuilder();
// The javac executable allows some of it's flags
// to be smuggled in via environment variables.
// But if it sees those flags, it will write out a message
// to stderr, which messes up our parsing of the output.
builder.environment().remove("JAVA_TOOL_OPTIONS");
builder.command(args);
Process p = builder.start();
copyInThread(p.getInputStream(), buff);
copyInThread(p.getErrorStream(), buff);
p.waitFor();
String output = new String(buff.toByteArray(), StandardCharsets.UTF_8);
handleSyntaxError(output);
return p.exitValue();
} catch (Exception e) {
throw DbException.convert(e);
}
}
代码示例来源:origin: stanfordnlp/CoreNLP
/**
* Start the process defined by the ProcessBuilder, and run until complete.
*
* @param builder The ProcessBuilder defining the process to run.
* @param output Where the process output should be written. If null, the
* process output will be written to System.out.
* @param error Where the process error output should be written. If null,
* the process error output will written to System.err.
*/
public static void run(ProcessBuilder builder, Writer output, Writer error) {
try {
Process process = builder.start();
consume(process, output, error);
int result = process.waitFor();
if (result != 0) {
String msg = "process %s exited with value %d";
throw new ProcessException(String.format(msg, builder.command(), result));
}
} catch (InterruptedException | IOException e) {
throw new ProcessException(e);
}
}
代码示例来源:origin: wildfly/wildfly
/**
* Add a command string provider to the list of command strings. The provider can add multiple strings to
* the consumer that is provided to it. The provider must not provide {@code null} or empty strings.
*
* @param consumer the consumer which can provide the command strings to add (must not be {@code null})
* @return this builder
*/
public Builder addCommand(Consumer<Consumer<String>> consumer) {
checkNotNullParam("commandString", consumer);
builderProcessor = builderProcessor.andThen(pb -> {
consumer.accept(string -> pb.command().add(checkNotEmptyParam("string", checkNotNullParam("string", string))));
return pb;
});
return this;
}
代码示例来源:origin: apache/ignite
/**
* Executes Hadoop command line tool.
*
* @param args Arguments for Hadoop command line tool.
* @return Process exit code.
* @throws Exception If failed.
*/
private int executeHadoopCmd(String... args) throws Exception {
ProcessBuilder procBuilder = createProcessBuilder();
List<String> cmd = new ArrayList<>();
cmd.add(hadoopHome + "/bin/hadoop");
cmd.addAll(Arrays.asList(args));
procBuilder.command(cmd);
log().info("Execute: " + procBuilder.command());
return watchProcess(procBuilder.start());
}
内容来源于网络,如有侵权,请联系作者删除!