/** * Starts a native process on the server * * @param command the command to start the process * @param dir the dir in which the process starts */ static String startProcess(String command, String dir) throws IOException { StringBuffer ret = new StringBuffer(); String[] comm = new String[3]; comm[0] = COMMAND_INTERPRETER[0]; comm[1] = COMMAND_INTERPRETER[1]; comm[2] = command; long start = System.currentTimeMillis(); try { // Start process Process ls_proc = Runtime.getRuntime().exec(comm, null, new File(dir)); // Get input and error streams BufferedInputStream ls_in = new BufferedInputStream(ls_proc.getInputStream()); BufferedInputStream ls_err = new BufferedInputStream(ls_proc.getErrorStream()); boolean end = false; while (!end) { int c = 0; while ((ls_err.available() > 0) && (++c <= 1000)) { ret.append(conv2Html(ls_err.read())); } c = 0; while ((ls_in.available() > 0) && (++c <= 1000)) { ret.append(conv2Html(ls_in.read())); } try { ls_proc.exitValue(); // if the process has not finished, an exception is thrown // else while (ls_err.available() > 0) ret.append(conv2Html(ls_err.read())); while (ls_in.available() > 0) ret.append(conv2Html(ls_in.read())); end = true; } catch (IllegalThreadStateException ex) { // Process is running } // The process is not allowed to run longer than given time. if (System.currentTimeMillis() - start > MAX_PROCESS_RUNNING_TIME) { ls_proc.destroy(); end = true; ret.append("!!!! Process has timed out, destroyed !!!!!"); } try { Thread.sleep(50); } catch (InterruptedException ie) { } } } catch (IOException e) { ret.append("Error: " + e); } return ret.toString(); }
/** * System command. Execute a command and insert the result. * * @param args * @param help * @param patterns * @param low * @param high */ public String system_internal(boolean allowFail, String args[]) throws Exception { verifyCommand( args, "${" + (allowFail ? "system-allow-fail" : "system") + ";<command>[;<in>]}, execute a system command", null, 2, 3); String command = args[1]; String input = null; if (args.length > 2) { input = args[2]; } Process process = Runtime.getRuntime().exec(command, null, domain.getBase()); if (input != null) { process.getOutputStream().write(input.getBytes("UTF-8")); } process.getOutputStream().close(); String s = IO.collect(process.getInputStream(), "UTF-8"); int exitValue = process.waitFor(); if (exitValue != 0) return exitValue + ""; if (!allowFail && (exitValue != 0)) { domain.error("System command " + command + " failed with " + exitValue); } return s.trim(); }
// Creates a new thread, runs the program in that thread, and reports any errors as needed. private void run(String clazz) { try { // Makes sure the JVM resets if it's already running. if (JVMrunning) kill(); // Some String constants for java path and OS-specific separators. String separator = System.getProperty("file.separator"); String path = System.getProperty("java.home") + separator + "bin" + separator + "java"; // Tries to run compiled code. ProcessBuilder builder = new ProcessBuilder(path, clazz); // Should be good now! Everything past this is on you. Don't mess it up. println( "Build succeeded on " + java.util.Calendar.getInstance().getTime().toString(), progErr); println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", progErr); JVM = builder.start(); // Note that as of right now, there is no support for input. Only output. Reader errorReader = new InputStreamReader(JVM.getErrorStream()); Reader outReader = new InputStreamReader(JVM.getInputStream()); // Writer inReader = new OutputStreamWriter(JVM.getOutputStream()); redirectErr = redirectIOStream(errorReader, err); redirectOut = redirectIOStream(outReader, out); // redirectIn = redirectIOStream(null, inReader); } catch (Exception e) { // This catches any other errors we might get. println("Some error thrown", progErr); logError(e.toString()); displayLog(); return; } }
/* * Run the given command. */ protected static int run(String message, String[] commandArray) { try { Process process = Runtime.getRuntime().exec(commandArray, null, output); StreamProcessor.start(process.getErrorStream(), StreamProcessor.STDERR, true); StreamProcessor.start(process.getInputStream(), StreamProcessor.STDOUT, true); process.waitFor(); return process.exitValue(); } catch (IOException e) { fail(message, e); } catch (InterruptedException e) { fail(message, e); } return -1; }
public static void main(String[] args) throws Exception { int counter = 0; while (true) { Thread outThread = null; Thread errThread = null; try { // org.pitest.mutationtest.instrument.MutationTestUnit#runTestInSeperateProcessForMutationRange // *** start slave ServerSocket commSocket = new ServerSocket(0); int commPort = commSocket.getLocalPort(); System.out.println("commPort = " + commPort); // org.pitest.mutationtest.execute.MutationTestProcess#start // - org.pitest.util.CommunicationThread#start FutureTask<Integer> commFuture = createFuture(commSocket); // - org.pitest.util.WrappingProcess#start // - org.pitest.util.JavaProcess#launch Process slaveProcess = startSlaveProcess(commPort); outThread = new Thread(new ReadFromInputStream(slaveProcess.getInputStream()), "stdout"); errThread = new Thread(new ReadFromInputStream(slaveProcess.getErrorStream()), "stderr"); outThread.start(); errThread.start(); // *** wait for slave to die // org.pitest.mutationtest.execute.MutationTestProcess#waitToDie // - org.pitest.util.CommunicationThread#waitToFinish System.out.println("waitToFinish"); Integer controlReturned = commFuture.get(); System.out.println("controlReturned = " + controlReturned); // NOTE: the following won't get called if commFuture.get() fails! // - org.pitest.util.JavaProcess#destroy outThread.interrupt(); // org.pitest.util.AbstractMonitor#requestStop errThread.interrupt(); // org.pitest.util.AbstractMonitor#requestStop slaveProcess.destroy(); } catch (Exception e) { e.printStackTrace(System.out); } // test: the threads should exit eventually outThread.join(); errThread.join(); counter++; System.out.println("try " + counter + ": stdout and stderr threads exited normally"); } }
public static String[] runCommand(String cmd, File dir) throws IOException { Process p = Runtime.getRuntime().exec(cmd.split(" +"), new String[] {}, dir); String[] results = new String[] { IOUtil.readStringFully(p.getInputStream()), IOUtil.readStringFully(p.getErrorStream()) }; try { if (p.waitFor() != 0) throw new RuntimeException( "command failed [" + cmd + "]\n" + results[0] + "\n" + results[1]); } catch (InterruptedException ie) { throw new RuntimeException("uh oh"); } return results; }
private String shell_exec(String cmdline) { String line = ""; try { // windows // Process p = Runtime.getRuntime().exec(cmdline); // linux Process p = Runtime.getRuntime().exec(new String[] {"/bin/sh", "-c", cmdline}); BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); while ((line += input.readLine()) != null) {} input.close(); } catch (Exception err) { err.printStackTrace(); } return line; }
public static boolean exec(String cmd) throws Exception { int exitVal = -1; try { Runtime rt = Runtime.getRuntime(); Process proc = rt.exec(new String[] {"/bin/bash", "-c", cmd}); OutputHandler err = new OutputHandler(proc.getErrorStream(), cmd); err.start(); OutputHandler out = new OutputHandler(proc.getInputStream(), cmd); out.start(); exitVal = proc.waitFor(); } catch (Throwable t) { t.printStackTrace(); } return (exitVal == 0); }
void processScriptOutput(final String script, String command[], final AnActionEvent event) throws IOException { final Process process = Runtime.getRuntime().exec(command, null, null); final BufferedReader stdout = new BufferedReader(new InputStreamReader(process.getInputStream(), CHARSET)); new Thread( new Runnable() { public void run() { try { String line; while ((line = stdout.readLine()) != null) processLine(line); } catch (IOException e) { error("Script i/o error", e); } try { stdout.close(); if (process.waitFor() != 0) if (script == "injectSource.pl") UIUtil.invokeAndWaitIfNeeded( new Runnable() { public void run() { if (Messages.showYesNoDialog( "Build Failed -- You may want to open " + "Injection's bundle project to resolve the problem.", "Injection Plugin", "OK", "Open Bundle Project", Messages.getInformationIcon()) == 1) runScript("openBundle.pl", event); } }); else alert(script + " returned failure."); } catch (Throwable e) { error("Wait problem", e); } } }) .start(); }
public void run() { while (1 == 1) { System.out.println("Start run OneTimeTimer.bat..."); try { Runtime rt = Runtime.getRuntime(); // this.sProcess = rt.exec("GuardEternal.bat"); this.sProcess = rt.exec("OneTimeTimer.bat"); Process pr = this.sProcess; BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream())); this.sProcessReader = input; String line = null; System.out.println( "========================= OneTimeTimer.bat Start ========================="); while ((line = input.readLine()) != null) { System.out.println(line); } int exitVal = pr.waitFor(); System.out.println( "========================= OneTimeTimer.bat end ========================="); } catch (Exception e) { System.out.println("Execute bat failed: " + e.getMessage()); } try { System.out.println("Sleep 10 mins"); Thread.sleep(10 * 60 * 1000); } catch (InterruptedException e) { System.out.println("Server thread sleep(1000) failed: " + e.getMessage()); } } }
public static String getWindows() { String cmd1 = "netsh wlan show profiles"; String cmd2 = "netsh wlan export profile name="; String keyword1 = "User profiles"; String wlanProfileArr[]; String wlanProfileName; int match = 0; int count = 0; ArrayList<String> profileList = new ArrayList<String>(); try { // Get wlan profile names Process p1 = Runtime.getRuntime().exec(cmd1); BufferedReader in1 = new BufferedReader(new InputStreamReader(p1.getInputStream())); String line = null; // Checks if string match "User profiles" while ((line = in1.readLine()) != null) { // Checks if string match "User profiles" if (match == 0) { if (line.toLowerCase().contains(keyword1.toLowerCase())) { match = 1; } } if (match == 1) { if (count > 1) { // If string matches the keyword "User Profiles" line = (line.replaceAll("\\s+$", "").replaceAll("^\\s+", "")); if (line.length() > 0) { wlanProfileName = (line.split(":")[1]).replaceAll("\\s+$", "").replaceAll("^\\s+", ""); ; profileList.add(wlanProfileName); } } count += 1; } } in1.close(); } catch (IOException e) { } try { String tmpDir = System.getProperty("java.io.tmpdir"); if (!(tmpDir.endsWith("/") || tmpDir.endsWith("\\"))) tmpDir = tmpDir + System.getProperty("file.separator"); // Export WLAN Profile to XML file for (Iterator iterator = profileList.iterator(); iterator.hasNext(); ) { String profileName = iterator.next().toString(); Process p2 = Runtime.getRuntime().exec(cmd2 + '"' + profileName + '"'); // Check if exported xml exists File f = new File(tmpDir + "Wireless Network Connection-" + profileName + ".xml"); if (f.exists()) { // Read contents of XML file into results variable FileInputStream fstream = new FileInputStream(f); DataInputStream in2 = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in2)); String xmlToStr; while ((xmlToStr = br.readLine()) != null) { result += xmlToStr; } in2.close(); } } } catch (IOException e) { } return result; }
@Override public void run() { String output = ""; // Get launcher jar File Launcher = new File(mcopy.getMinecraftPath() + "minecrafterr.jar"); jTextArea1.setText( "Checking for Minecraft launcher (minecrafterr.jar) in " + Launcher.getAbsolutePath() + "\n"); if (!Launcher.exists()) { jTextArea1.setText(jTextArea1.getText() + "Error: Could not find launcher!\n"); jTextArea1.setText(jTextArea1.getText() + "Downloading from Minecraft.net...\n"); try { BufferedInputStream in = new BufferedInputStream( new URL("https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar") .openStream()); FileOutputStream fos = new FileOutputStream(mcopy.getMinecraftPath() + "minecrafterr.jar"); BufferedOutputStream bout = new BufferedOutputStream(fos, 1024); byte data[] = new byte[1024]; int x = 0; while ((x = in.read(data, 0, 1024)) >= 0) { bout.write(data, 0, x); } bout.close(); in.close(); } catch (IOException e) { jTextArea1.setText(jTextArea1.getText() + "Download failed..." + "\n"); } jTextArea1.setText(jTextArea1.getText() + "Download successful!" + "\n"); } // Got launcher. jTextArea1.setText(jTextArea1.getText() + "Minecraft launcher found!" + "\n"); jTextArea1.setText(jTextArea1.getText() + "Starting launcher..." + "\n"); try { System.out.println(System.getProperty("os.name")); // Run launcher in new process Process pr = Runtime.getRuntime() .exec( System.getProperty("java.home") + "/bin/java -Ddebug=full -cp " + mcopy.getMinecraftPath() + "minecrafterr.jar net.minecraft.LauncherFrame"); // Grab output BufferedReader out = new BufferedReader(new InputStreamReader(pr.getInputStream())); BufferedReader outERR = new BufferedReader(new InputStreamReader(pr.getErrorStream())); String line = ""; while ((line = out.readLine()) != null || (line = outERR.readLine()) != null) { if (!line.startsWith( "Setting user: "******"\n"; jTextArea1.setText(jTextArea1.getText() + line + "\n"); jTextArea1.setCaretPosition(jTextArea1.getText().length() - 1); } } } catch (IOException e) { jTextArea1.setText(jTextArea1.getText() + e.getMessage() + "\n"); jTextArea1.setCaretPosition(jTextArea1.getText().length() - 1); } // set output Main.Output = output; Main.SPAMDETECT = false; jTextArea1.setText(jTextArea1.getText() + "Error report complete."); jTextArea1.setCaretPosition(jTextArea1.getText().length() - 1); mcopy.analyze(); // Auto-analyze }
public static void main(String[] args) { /** Define a host server */ String host = "localhost"; /** Define a port */ int port = 19999; int port2 = 19990; // int port3 = 19980; StringBuffer instr = new StringBuffer(); String TimeStamp; Parser parser = new Parser(); System.out.println("SocketClient initialized"); try { // parsing // DataStream ds = // new PlainTextByLineDataStream( // new FileReader(new File("input.txt"))); BufferedReader inputReader = new BufferedReader(new FileReader("input.txt")); String sent; while ((sent = inputReader.readLine()) != null) { // String sentence = (String)ds.nextToken() + (char) 13; String sentence = sent + (char) 13; // System.out.println(str); System.out.println("Parsing...."); Tree tree = parser.parse(sentence); System.out.println(tree); System.out.println("Extracting features..."); String srlIdentifier = "python srl-identifier.py " + '"' + tree + '"'; // System.out.println(srlIdentifier); Runtime rr = Runtime.getRuntime(); Process pp = rr.exec(srlIdentifier); BufferedReader brr = new BufferedReader(new InputStreamReader(pp.getInputStream())); pp.waitFor(); BufferedReader reader = new BufferedReader(new FileReader("identifier.test")); BufferedReader classifier = new BufferedReader(new FileReader("classifier.test")); String line; PrintWriter identifierOutput = new PrintWriter("identifier-output.txt"); PrintWriter classifierOutput = new PrintWriter("classifier-output.txt"); BufferedReader preds = new BufferedReader(new FileReader("pred.test")); while ((line = reader.readLine()) != null) { String pred = preds.readLine(); String features = line + (char) 13; String classifierFeature = classifier.readLine() + (char) 13; InetAddress address = InetAddress.getByName(host); // Establish a socket connetion Socket connection = new Socket(address, port); Socket connection2 = new Socket(address, port2); // Instantiate a BufferedOutputStream object BufferedOutputStream bos = new BufferedOutputStream(connection.getOutputStream()); // Instantiate an OutputStreamWriter object with the optional character // encoding. // OutputStreamWriter osw = new OutputStreamWriter(bos, "US-ASCII"); BufferedReader fromServer = new BufferedReader(new InputStreamReader(connection.getInputStream())); // Write across the socket connection and flush the buffer osw.write(features); osw.flush(); String identifierResponse = fromServer.readLine(); identifierOutput.println(identifierResponse); BufferedOutputStream bos2 = new BufferedOutputStream(connection2.getOutputStream()); // Instantiate an OutputStreamWriter object with the optional character // encoding. // OutputStreamWriter osw2 = new OutputStreamWriter(bos2, "US-ASCII"); BufferedReader fromServer2 = new BufferedReader(new InputStreamReader(connection2.getInputStream())); osw2.write(classifierFeature); osw2.flush(); String ClassifierResponse = fromServer2.readLine(); classifierOutput.println(pred + ' ' + ClassifierResponse); } identifierOutput.close(); classifierOutput.close(); Runtime rlabeler = Runtime.getRuntime(); String srlClassifier = "python concept-formulator.py"; Process p = rlabeler.exec(srlClassifier); BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); p.waitFor(); // System.out.println("here i am"); String line2; while ((line2 = br.readLine()) != null) { System.out.println(line2); // while (br.ready()) // System.out.println(br.readLine()); } } } catch (Exception e) { String cause = e.getMessage(); if (cause.equals("python: not found")) System.out.println("No python interpreter found."); } }
static void pinging() throws IOException { Socket mySocket; if (!inetAddresses.isEmpty()) { bcid = ((InterfaceAddress) inetAddresses.get(0)) .getBroadcast() .getAddress(); // gets the last ip address in subnet netaddress( ((InterfaceAddress) inetAddresses.get(0)) .getNetworkPrefixLength(), // creats the mask field ((InterfaceAddress) inetAddresses.get(0)) .getAddress() .getAddress() // creats the myip field ); byte[] pingip = netid; for (; ; ) { InetAddress ping = InetAddress.getByAddress(pingip); // boolean reachable=ping.isReachable(5000); // This command is doing the same work as // the ping command in windows try { Process ps = Runtime.getRuntime().exec("ping.exe " + ping); BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream())); StringBuilder sb = new StringBuilder(); String line; while ((line = br.readLine()) != null) { sb.append(line); sb.append("\n"); } y = sb.toString(); System.out.print(sb.toString()); } catch (IOException e) { e.printStackTrace(); } if (!contains(y, substring)) { System.out.println("The ip address " + ping + "is reachable"); for (int port = 0; port < 65536; port++) { try { mySocket = new Socket(ping, port); System.out.println("The port" + port + "on ip:" + ping + "is free."); mySocket.close(); } catch (IOException c) { System.out.println("The port" + port + "on ip:" + ping + "is closed."); } } } else System.out.println( "The pinged ip addres is unreachable, probably it is not up in your subnet"); pingip[3]++; if (pingip[3] == (byte) 255) pingip[2]++; if (pingip[2] == (byte) 255) // here we ping ips in our subnet from the first ip address to the last one pingip[1]++; if (pingip[1] == (byte) 255) pingip[0]++; if (pingip[0] == (byte) 127) // beacuase the ip addresses that are not in class A have at least 2 bytes of // net ids break; if (pingip[0] == bcid[0] & pingip[1] == bcid[1] & pingip[2] == bcid[2] & pingip[3] == bcid[3]) break; } } else System.out.println("null pointer exception"); }