List of usage examples for java.lang ProcessBuilder ProcessBuilder
public ProcessBuilder(String... command)
From source file:Main.java
public static void main(String[] args) { // create a new list of arguments for our process List<String> list = new ArrayList<String>(); list.add("notepad.exe"); list.add("test.txt"); // create the process builder ProcessBuilder pb = new ProcessBuilder(list); try {/*w w w . j a va2 s . c o m*/ // start the subprocess System.out.println("Starting the process.."); pb.start(); } catch (IOException ex) { ex.printStackTrace(); } }
From source file:ProcessBuilderDemo.java
public static void main(String argv[]) throws InterruptedException, IOException { List<String> command = new ArrayList<String>(); command.add("notepad"); command.add("foo.txt"); ProcessBuilder builder = new ProcessBuilder(command); Map<String, String> environ = builder.environment(); environ.put("PATH", "/windows;/windows/system32;/winnt"); builder.directory(new File(System.getProperty("user.home"))); final Process godot = builder.start(); godot.waitFor();/*from w w w. ja va 2 s .c o m*/ System.out.println("Program terminated!"); return; }
From source file:lohbihler.process.Test.java
public static void main(final String[] args) throws Exception { final ExecutorService executorService = Executors.newCachedThreadPool(); final Process process = new ProcessBuilder("cmd").start(); final InputReader input = new InputReader(process.getInputStream()); final InputReader error = new InputReader(process.getErrorStream()); executorService.execute(input);//from w w w . j a va 2 s . c o m executorService.execute(error); final OutputStreamWriter out = new OutputStreamWriter(process.getOutputStream()); Thread.sleep(1000); System.out.println("Input: " + input.getInput()); System.out.println("Error: " + error.getInput()); System.out.println("Alive: " + process.isAlive()); System.out.println(); out.append("PING 1.1.1.1 -n 1 -w 5000\r\n"); out.flush(); for (int i = 0; i < 7; i++) { Thread.sleep(1000); System.out.println("Input: " + input.getInput()); System.out.println("Error: " + error.getInput()); System.out.println("Alive: " + process.isAlive()); System.out.println(); } out.append("PING 1.1.1.1 -n 1 -w 2000\r\n"); out.flush(); for (int i = 0; i < 4; i++) { Thread.sleep(1000); System.out.println("Input: " + input.getInput()); System.out.println("Error: " + error.getInput()); System.out.println("Alive: " + process.isAlive()); System.out.println(); } process.destroy(); executorService.shutdown(); }
From source file:Example6.java
public static void main(String[] args) throws IOException, InterruptedException { //check if the executable exists File file = new File("./examples/dtlz2_socket.exe"); if (!file.exists()) { if (!SystemUtils.IS_OS_UNIX) { System.err.println(//from ww w .j a va 2 s . c om "This example only works on POSIX-compliant systems; see the Makefile for details"); return; } System.err.println("Please compile the executable by running make in the ./examples/ folder"); return; } //run the executable and wait one second for the process to startup new ProcessBuilder(file.toString()).start(); Thread.sleep(1000); //configure and run the DTLZ2 function NondominatedPopulation result = new Executor().withProblemClass(MyDTLZ2.class).withAlgorithm("NSGAII") .withMaxEvaluations(10000).run(); //display the results System.out.format("Objective1 Objective2%n"); for (Solution solution : result) { System.out.format("%.4f %.4f%n", solution.getObjective(0), solution.getObjective(1)); } }
From source file:com.atlauncher.Bootstrap.java
public static void main(String[] args) { String json = null;//from w w w .j a v a2 s . c o m if (!Files.isDirectory(PATH)) { try { Files.createDirectories(PATH); } catch (IOException e) { e.printStackTrace(); } } try { json = IOUtils.toString(URI.create("http://download.nodecdn.net/containers/atl/v4/app.json")); } catch (IOException e) { e.printStackTrace(); System.exit(1); } Application application = GSON.fromJson(json, Application.class); Dependency currentDependency = null; if (Files.exists(PATH.resolve("nwjs.json"))) { try { currentDependency = GSON.fromJson(FileUtils.readFileToString(PATH.resolve("nwjs.json").toFile()), Dependency.class); } catch (IOException e) { e.printStackTrace(); System.exit(1); } } for (Dependency dependency : application.getDependencies()) { if (dependency.shouldInstall() && !dependency.matches(currentDependency)) { if (Files.isDirectory(PATH.resolve("nwjs/"))) { try { FileUtils.deleteDirectory(PATH.resolve("nwjs/").toFile()); } catch (IOException e) { e.printStackTrace(); } } try { File zipFile = PATH.resolve("nwjs/temp.zip").toFile(); FileUtils.copyURLToFile(dependency.getUrl(), zipFile); Utils.unzip(zipFile, PATH.resolve("nwjs/").toFile()); FileUtils.forceDelete(zipFile); currentDependency = dependency; FileUtils.writeStringToFile(PATH.resolve("nwjs.json").toFile(), GSON.toJson(dependency)); break; } catch (IOException e) { e.printStackTrace(); System.exit(1); } } } App currentApp = null; if (Files.exists(PATH.resolve("app.json"))) { try { currentApp = GSON.fromJson(FileUtils.readFileToString(PATH.resolve("app.json").toFile()), App.class); } catch (IOException e) { e.printStackTrace(); System.exit(1); } } if (!application.getApp().matches(currentApp) || (currentApp != null && !Files.exists(PATH.resolve(currentApp.getFilename())))) { if (currentApp != null && Files.exists(PATH.resolve(currentApp.getFilename()))) { try { FileUtils.forceDelete(PATH.resolve(currentApp.getFilename()).toFile()); } catch (IOException e) { e.printStackTrace(); } } try { FileUtils.copyURLToFile(application.getApp().getUrl(), PATH.resolve(application.getApp().getFilename()).toFile()); currentApp = application.getApp(); FileUtils.writeStringToFile(PATH.resolve("app.json").toFile(), GSON.toJson(application.getApp())); } catch (IOException e) { e.printStackTrace(); System.exit(1); } } if (currentDependency == null || currentApp == null) { System.exit(1); } List<String> arguments = new ArrayList<>(); arguments.add(PATH.resolve("nwjs/").toAbsolutePath() + currentDependency.getStartup()); arguments.add(currentApp.getFilename()); ProcessBuilder processBuilder = new ProcessBuilder(arguments); processBuilder.directory(PATH.toFile()); try { processBuilder.start(); } catch (IOException e) { e.printStackTrace(); } }
From source file:net.sfr.tv.mom.mgt.HornetqConsole.java
/** * @param args the command line arguments *//* w w w . j a va 2 s . com*/ public static void main(String[] args) { try { String jmxHost = "127.0.0.1"; String jmxPort = "6001"; // Process command line arguments String arg; for (int i = 0; i < args.length; i++) { arg = args[i]; switch (arg) { case "-h": jmxHost = args[++i]; break; case "-p": jmxPort = args[++i]; break; default: break; } } // Check for arguments consistency if (StringUtils.isEmpty(jmxHost) || !NumberUtils.isNumber(jmxPort)) { LOGGER.info("Usage : "); LOGGER.info("hq-console.jar <-h host(127.0.0.1)> <-p port(6001)>\n"); System.exit(1); } System.out.println( SystemUtils.LINE_SEPARATOR.concat(Ansi.format("HornetQ Console ".concat(VERSION), Color.CYAN))); final StringBuilder _url = new StringBuilder("service:jmx:rmi://").append(jmxHost).append(':') .append(jmxPort).append("/jndi/rmi://").append(jmxHost).append(':').append(jmxPort) .append("/jmxrmi"); final String jmxServiceUrl = _url.toString(); JMXConnector jmxc = null; final CommandRouter router = new CommandRouter(); try { jmxc = JMXConnectorFactory.connect(new JMXServiceURL(jmxServiceUrl), null); assert jmxc != null; // jmxc must be not null } catch (final MalformedURLException e) { System.out.println(SystemUtils.LINE_SEPARATOR .concat(Ansi.format(jmxServiceUrl + " :" + e.getMessage(), Color.RED))); } catch (Throwable t) { System.out.println(SystemUtils.LINE_SEPARATOR.concat( Ansi.format("Unable to connect to JMX service URL : ".concat(jmxServiceUrl), Color.RED))); System.out.print(SystemUtils.LINE_SEPARATOR.concat( Ansi.format("Did you add jmx-staticport-agent.jar to your classpath ?", Color.MAGENTA))); System.out.println(SystemUtils.LINE_SEPARATOR.concat(Ansi.format( "Or did you set the com.sun.management.jmxremote.port option in the hornetq server startup script ?", Color.MAGENTA))); System.exit(-1); } System.out.println("\n".concat(Ansi .format("Successfully connected to JMX service URL : ".concat(jmxServiceUrl), Color.YELLOW))); final MBeanServerConnection mbsc = jmxc.getMBeanServerConnection(); // PRINT SERVER STATUS REPORT System.out.print((String) router.get(Command.STATUS, Option.VM).execute(mbsc, null)); System.out.print((String) router.get(Command.STATUS, Option.SERVER).execute(mbsc, null)); System.out.print((String) router.get(Command.STATUS, Option.CLUSTER).execute(mbsc, null)); printHelp(router); // START COMMAND LINE Scanner scanner = new Scanner(System.in); System.out.print("> "); String input; while (!(input = scanner.nextLine().concat(" ")).equals("exit ")) { String[] cliArgs = input.split("\\ "); CommandHandler handler; if (cliArgs.length < 1) { System.out.print("> "); continue; } Command cmd = Command.fromString(cliArgs[0]); if (cmd == null) { System.out.print(Ansi.format("Syntax error !", Color.RED).concat("\n")); cmd = Command.HELP; } switch (cmd) { case STATUS: case LIST: case DROP: Set<Option> options = router.get(cmd); for (Option opt : options) { if (cliArgs[1].equals(opt.toString())) { handler = router.get(cmd, opt); String[] cmdOpts = null; if (cliArgs.length > 2) { cmdOpts = new String[cliArgs.length - 2]; for (int i = 0; i < cmdOpts.length; i++) { cmdOpts[i] = cliArgs[2 + i]; } } Object result = handler.execute(mbsc, cmdOpts); if (result != null && String.class.isAssignableFrom(result.getClass())) { System.out.print((String) result); } System.out.print("> "); } } break; case FORK: // EXECUTE SYSTEM COMMAND ProcessBuilder pb = new ProcessBuilder(Arrays.copyOfRange(cliArgs, 1, cliArgs.length)); pb.inheritIO(); pb.start(); break; case HELP: printHelp(router); break; } } } catch (MalformedURLException ex) { LOGGER.log(Level.SEVERE, null, ex); } catch (IOException ex) { LOGGER.log(Level.SEVERE, null, ex); } echo(SystemUtils.LINE_SEPARATOR.concat(Ansi.format("Bye!", Color.CYAN))); }
From source file:Main.java
public static Process execute(String command) throws Exception { final Process process = new ProcessBuilder("sh").redirectErrorStream(true).start(); BufferedWriter stdOutput = new BufferedWriter(new OutputStreamWriter(process.getOutputStream())); stdOutput.write(command + "; exit\n"); stdOutput.flush();//w w w . j av a 2 s .c o m stdOutput.close(); return process; }
From source file:Main.java
public static void changeFileMode(String f) throws IOException { String[] command = { "chmod", "777", f }; ProcessBuilder builder = new ProcessBuilder(command); builder.start();/* w w w .j a v a 2s . co m*/ }
From source file:Main.java
public static void exec(File workingDir, String command) { try {/*from w w w.j a va 2s .co m*/ ProcessBuilder processBuilder = new ProcessBuilder(command.split(" ")); processBuilder.directory(workingDir); Process process = processBuilder.start(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line = null; while ((line = bufferedReader.readLine()) != null) { System.out.println(line); } process.waitFor(); process.destroy(); } catch (Exception e) { e.printStackTrace(); } }
From source file:Main.java
public static boolean isRooted() { Process p;//from w w w . j a va 2s. com try { p = new ProcessBuilder("su").start(); BufferedWriter stdin = new BufferedWriter(new OutputStreamWriter(p.getOutputStream())); BufferedReader stdout = new BufferedReader(new InputStreamReader(p.getInputStream())); stdin.write("whoami"); stdin.newLine(); stdin.write("exit"); stdin.newLine(); stdin.close(); try { p.waitFor(); if (!stdout.ready()) return false; String user = stdout.readLine(); //We only expect one line of output stdout.close(); if (user == "root") { return true; } else { return false; } } catch (InterruptedException e) { e.printStackTrace(); return false; } } catch (IOException e) { e.printStackTrace(); return false; } }