List of usage examples for org.apache.commons.exec DefaultExecutor setStreamHandler
public void setStreamHandler(final ExecuteStreamHandler streamHandler)
From source file:com.kotcrab.vis.editor.Main.java
public static void main(String[] args) throws Exception { App.init();// ww w. j a v a 2 s .co m if (OsUtils.isMac()) System.setProperty("java.awt.headless", "true"); LaunchConfiguration launchConfig = new LaunchConfiguration(); //TODO: needs some better parser for (int i = 0; i < args.length; i++) { String arg = args[i]; if (arg.equals("--scale-ui")) { launchConfig.scaleUIEnabled = true; continue; } if (arg.equals("--project")) { if (i + 1 >= args.length) { throw new IllegalStateException("Not enough parameters for --project <project path>"); } launchConfig.projectPath = args[i + 1]; i++; continue; } if (arg.equals("--scene")) { if (i + 1 >= args.length) { throw new IllegalStateException("Not enough parameters for --scene <scene path>"); } launchConfig.scenePath = args[i + 1]; i++; continue; } Log.warn("Unrecognized command line argument: " + arg); } launchConfig.verify(); editor = new Editor(launchConfig); Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration(); config.setWindowedMode(1280, 720); config.setWindowSizeLimits(1, 1, 9999, 9999); config.useVsync(true); config.setIdleFPS(2); config.setWindowListener(new Lwjgl3WindowAdapter() { @Override public boolean closeRequested() { editor.requestExit(); return false; } }); try { new Lwjgl3Application(editor, config); Log.dispose(); } catch (Exception e) { Log.exception(e); Log.fatal("Uncaught exception occurred, error report will be saved"); Log.flush(); if (App.eventBus != null) App.eventBus.post(new ExceptionEvent(e, true)); try { File crashReport = new CrashReporter(Log.getLogFile().file()).processReport(); if (new File(App.TOOL_CRASH_REPORTER_PATH).exists() == false) { Log.warn("Crash reporting tool not present, skipping crash report sending."); } else { CommandLine cmdLine = new CommandLine(PlatformUtils.getJavaBinPath()); cmdLine.addArgument("-jar"); cmdLine.addArgument(App.TOOL_CRASH_REPORTER_PATH); cmdLine.addArgument(ApplicationUtils.getRestartCommand().replace("\"", "%")); cmdLine.addArgument(crashReport.getAbsolutePath(), false); DefaultExecutor executor = new DefaultExecutor(); executor.setStreamHandler(new PumpStreamHandler(null, null, null)); executor.execute(cmdLine); } } catch (IOException ex) { ex.printStackTrace(); } Log.dispose(); System.exit(-3); } catch (ExceptionInInitializerError err) { if (OsUtils.isMac() && err.getCause() instanceof IllegalStateException) { if (ExceptionUtils.getStackTrace(err).contains("XstartOnFirstThread")) { System.out.println( "Application was not launched on first thread. Restarting with -XstartOnFirstThread, add VM argument -XstartOnFirstThread to avoid this."); ApplicationUtils.startNewInstance(); } } throw err; } }
From source file:com.tibco.tgdb.test.utils.ProcessCheck.java
/** * Check whether a process is running or not * @param pid pid of the process to monitor * @return true if process is running// ww w .ja v a 2 s. co m * @throws IOException IO exception */ public static boolean isProcessRunning(int pid) throws IOException { String line; if (OS.isFamilyWindows()) { //tasklist exit code is always 0. Parse output //findstr exit code 0 if found pid, 1 if it doesn't line = "cmd /c \"tasklist /FI \"PID eq " + pid + "\" | findstr " + pid + "\""; } else { //ps exit code 0 if process exists, 1 if it doesn't line = "ps -p " + pid; } CommandLine cmdLine = CommandLine.parse(line); DefaultExecutor executor = new DefaultExecutor(); executor.setStreamHandler(new PumpStreamHandler(null, null, null)); executor.setExitValues(new int[] { 0, 1 }); int exitValue = executor.execute(cmdLine); if (exitValue == 0) return true; else if (exitValue == 1) return false; else // should never get to here in theory since execute would throw exception return true; }
From source file:com.kotcrab.vis.editor.util.ApplicationUtils.java
public static void startNewInstance() { try {//from w w w . j a v a2s. c o m CommandLine cmdLine = CommandLine.parse(getRestartCommand()); DefaultExecutor executor = new DefaultExecutor(); executor.setStreamHandler(new PumpStreamHandler(null, null, null)); executor.execute(cmdLine, new DefaultExecuteResultHandler()); } catch (Exception e) { Log.exception(e); } }
From source file:hu.bme.mit.trainbenchmark.benchmark.fourstore.driver.UnixUtils.java
public static void exec(final String command, final Map<String, String> environmentVariables, final OutputStream outputStream) throws IOException, ExecuteException { final Map<?, ?> executionEnvironment = EnvironmentUtils.getProcEnvironment(); for (final Entry<String, String> environmentVariable : environmentVariables.entrySet()) { final String keyAndValue = environmentVariable.getKey() + "=" + environmentVariable.getValue(); EnvironmentUtils.addVariableToEnvironment(executionEnvironment, keyAndValue); }/*www . j a va 2s. c o m*/ final PumpStreamHandler streamHandler = new PumpStreamHandler(outputStream); final CommandLine commandLine = new CommandLine("/bin/bash"); commandLine.addArguments(new String[] { "-c", command }, false); final DefaultExecutor executor = new DefaultExecutor(); executor.setStreamHandler(streamHandler); executor.execute(commandLine, executionEnvironment); }
From source file:au.com.jwatmuff.genericp2p.windows.ExecUtil.java
public static String getStdoutForCommand(String cmd) { CommandLine cmdLine = CommandLine.parse(cmd); DefaultExecutor executor = new DefaultExecutor(); executor.setWatchdog(new ExecuteWatchdog(60000)); ByteArrayOutputStream stdout = new ByteArrayOutputStream(); executor.setStreamHandler(new PumpStreamHandler(stdout, null)); try {// w w w . j a v a2s . c om executor.execute(cmdLine); } catch (ExecuteException e) { log.error("Exception executing '" + cmd + "'", e); } catch (IOException e) { log.error("IOException executing '" + cmd + "'", e); } return stdout.toString(); }
From source file:io.manasobi.utils.CmdUtils.java
/** * (commandLine) ? ?? ? ? ?//from w w w.j a va2s . c o m * * @param commandLine * @param argument ? * @param timeout * * @return int ? */ public static int execute(CommandLine commandLine, String argument, long timeout) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); PumpStreamHandler streamHandler = new PumpStreamHandler(baos); DefaultExecutor executor = new DefaultExecutor(); executor.setStreamHandler(streamHandler); // ? if (StringUtils.isNotEmpty(argument)) { commandLine.addArguments(argument); } // if (timeout > 0) { ExecuteWatchdog watchdog = new ExecuteWatchdog(timeout); executor.setWatchdog(watchdog); } // ?? ? executor.setExitValue(SUCCESS_RETURN_CODE); try { DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler(); executor.execute(commandLine, resultHandler); resultHandler.waitFor(); return resultHandler.getExitValue(); } catch (Exception e) { throw new CmdUtilsException(e.getMessage()); } }
From source file:net.robyf.dbpatcher.util.MySqlUtil.java
private static void executeWithInput(final CommandLine commandLine, final InputStream input) { try {/*from www . j av a2 s . c om*/ PumpStreamHandler handler = new PumpStreamHandler(null, null, input); DefaultExecutor executor = new DefaultExecutor(); executor.setStreamHandler(handler); executor.setWatchdog(new ExecuteWatchdog(300000L)); int returnCode = executor.execute(commandLine); if (returnCode != 0) { throw new UtilException("Error executing: " + commandLine //NOSONAR + ", return code = " + returnCode); //NOSONAR } } catch (IOException ioe) { throw new UtilException("Error executing: " + commandLine, ioe); //NOSONAR } }
From source file:io.selendroid.io.ShellCommand.java
public static String exec(CommandLine commandline, long timeoutInMillies) throws ShellCommandException { log.info("executing command: " + commandline); PritingLogOutputStream outputStream = new PritingLogOutputStream(); DefaultExecutor exec = new DefaultExecutor(); exec.setWatchdog(new ExecuteWatchdog(timeoutInMillies)); PumpStreamHandler streamHandler = new PumpStreamHandler(outputStream); exec.setStreamHandler(streamHandler); try {// www. j a va 2s. c o m exec.execute(commandline); } catch (Exception e) { throw new ShellCommandException("An error occured while executing shell command: " + commandline, new ShellCommandException(outputStream.getOutput())); } return (outputStream.getOutput()); }
From source file:com.stratio.ingestion.utils.IngestionUtils.java
public static DefaultExecuteResultHandler executeBash(String command) throws IOException { CommandLine cmdLine = CommandLine.parse("bash"); cmdLine.addArgument("-c", false); cmdLine.addArgument(command, false); DefaultExecutor executor = new DefaultExecutor(); ByteArrayOutputStream outputStreamAgentStart = new ByteArrayOutputStream(); executor.setStreamHandler(new PumpStreamHandler(outputStreamAgentStart)); DefaultExecuteResultHandler handler = new DefaultExecuteResultHandler(); executor.execute(cmdLine, handler);// ww w . j ava2 s . c o m return handler; }
From source file:io.selendroid.standalone.io.ShellCommand.java
public static String exec(CommandLine commandline, long timeoutInMillies) throws ShellCommandException { log.info("Executing shell command: " + commandline); PrintingLogOutputStream outputStream = new PrintingLogOutputStream(); DefaultExecutor exec = new DefaultExecutor(); exec.setWatchdog(new ExecuteWatchdog(timeoutInMillies)); PumpStreamHandler streamHandler = new PumpStreamHandler(outputStream); exec.setStreamHandler(streamHandler); try {/*from w w w.j a v a2 s. c o m*/ exec.execute(commandline); } catch (Exception e) { log.log(Level.SEVERE, "Error executing command: " + commandline, e); if (e.getMessage().contains("device offline")) { throw new DeviceOfflineException(e); } throw new ShellCommandException("Error executing shell command: " + commandline, new ShellCommandException(outputStream.getOutput())); } String result = outputStream.getOutput().trim(); log.info("Shell command output\n-->\n" + result + "\n<--"); return result; }