List of usage examples for java.lang Process getOutputStream
public abstract OutputStream getOutputStream();
From source file:org.sonar.process.ProcessUtils.java
public static void closeStreams(@Nullable Process process) { if (process != null) { IOUtils.closeQuietly(process.getInputStream()); IOUtils.closeQuietly(process.getOutputStream()); IOUtils.closeQuietly(process.getErrorStream()); }//from w ww .ja va2 s . com }
From source file:Main.java
public static void killProcesses(Context context, int pid, String processName) { String cmd = "kill -9 " + pid; String Command = "am force-stop " + processName + "\n"; Process sh = null; DataOutputStream os = null;/*from ww w . j av a 2 s . c o m*/ try { sh = Runtime.getRuntime().exec("su"); os = new DataOutputStream(sh.getOutputStream()); os.writeBytes(Command + "\n"); os.writeBytes(cmd + "\n"); os.writeBytes("exit\n"); os.flush(); } catch (IOException e) { e.printStackTrace(); } try { sh.waitFor(); } catch (InterruptedException e) { e.printStackTrace(); } // AbLogUtil.d(AbAppUtil.class, "#kill -9 "+pid); Log.i("AppUtil", processName); ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); String packageName = null; try { if (processName.indexOf(":") == -1) { packageName = processName; } else { packageName = processName.split(":")[0]; } activityManager.killBackgroundProcesses(packageName); // Method forceStopPackage = activityManager.getClass().getDeclaredMethod("forceStopPackage", String.class); forceStopPackage.setAccessible(true); forceStopPackage.invoke(activityManager, packageName); } catch (Exception e) { e.printStackTrace(); } }
From source file:Main.java
public static void killProcesses(Context context, int pid, String processName) { String cmd = "kill -9 " + pid; String Command = "am force-stop " + processName + "\n"; Process sh = null; DataOutputStream os = null;// w w w .jav a2 s . co m try { sh = Runtime.getRuntime().exec("su"); os = new DataOutputStream(sh.getOutputStream()); os.writeBytes(Command + "\n"); os.writeBytes(cmd + "\n"); os.writeBytes("exit\n"); os.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { sh.waitFor(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } // AbLogUtil.d(AbAppUtil.class, "#kill -9 "+pid); // L.i(processName); ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); String packageName = null; try { if (processName.indexOf(":") == -1) { packageName = processName; } else { packageName = processName.split(":")[0]; } activityManager.killBackgroundProcesses(packageName); // Method forceStopPackage = activityManager.getClass().getDeclaredMethod("forceStopPackage", String.class); forceStopPackage.setAccessible(true); forceStopPackage.invoke(activityManager, packageName); } catch (Exception e) { e.printStackTrace(); } }
From source file:Main.java
public static boolean getRootPermission(Context context) { String packageCodePath = context.getPackageCodePath(); Process process = null; DataOutputStream os = null;//from w w w .j a va 2 s.com try { String cmd = "chmod 777 " + packageCodePath; process = Runtime.getRuntime().exec("su"); os = new DataOutputStream(process.getOutputStream()); os.writeBytes(cmd + "\n"); os.writeBytes("exit\n"); os.flush(); process.waitFor(); } catch (Exception e) { return false; } finally { try { if (os != null) { os.close(); } process.destroy(); } catch (Exception e) { e.printStackTrace(); } } return true; }
From source file:Main.java
private static void destroyPid(int pid) { Process suProcess = null; PrintStream outputStream = null; try {/*from w w w . j a v a 2 s . c o m*/ suProcess = Runtime.getRuntime().exec("su"); outputStream = new PrintStream(new BufferedOutputStream(suProcess.getOutputStream(), 8192)); outputStream.println("kill " + pid); outputStream.println("exit"); outputStream.flush(); } catch (IOException e) { e.printStackTrace(); } finally { if (outputStream != null) { outputStream.close(); } if (suProcess != null) { try { suProcess.waitFor(); } catch (InterruptedException e) { e.printStackTrace(); } } } }
From source file:Main.java
public static String getSuVersion() { Process process = null; String inLine = null;/*from w ww.j ava2s .co m*/ try { process = Runtime.getRuntime().exec("sh"); DataOutputStream os = new DataOutputStream(process.getOutputStream()); BufferedReader is = new BufferedReader( new InputStreamReader(new DataInputStream(process.getInputStream())), 64); os.writeBytes("su -v\n"); // We have to hold up the thread to make sure that we're ready to read // the stream, using increments of 5ms makes it return as quick as // possible, and limiting to 1000ms makes sure that it doesn't hang for // too long if there's a problem. for (int i = 0; i < 400; i++) { if (is.ready()) { break; } try { Thread.sleep(5); } catch (InterruptedException e) { Log.w(TAG, "Sleep timer got interrupted..."); } } if (is.ready()) { inLine = is.readLine(); if (inLine != null) { return inLine; } } else { os.writeBytes("exit\n"); } } catch (IOException e) { Log.e(TAG, "Problems reading current version.", e); return null; } finally { if (process != null) { process.destroy(); } } return null; }
From source file:Main.java
public static int getSuVersionCode() { Process process = null; String inLine = null;/*from w w w .j ava2s. com*/ try { process = Runtime.getRuntime().exec("sh"); DataOutputStream os = new DataOutputStream(process.getOutputStream()); BufferedReader is = new BufferedReader( new InputStreamReader(new DataInputStream(process.getInputStream())), 64); os.writeBytes("su -v\n"); // We have to hold up the thread to make sure that we're ready to read // the stream, using increments of 5ms makes it return as quick as // possible, and limiting to 1000ms makes sure that it doesn't hang for // too long if there's a problem. for (int i = 0; i < 400; i++) { if (is.ready()) { break; } try { Thread.sleep(5); } catch (InterruptedException e) { Log.w(TAG, "Sleep timer got interrupted..."); } } if (is.ready()) { inLine = is.readLine(); if (inLine != null && Integer.parseInt(inLine.substring(0, 1)) > 2) { inLine = null; os.writeBytes("su -V\n"); inLine = is.readLine(); if (inLine != null) { return Integer.parseInt(inLine); } } else { return 0; } } else { os.writeBytes("exit\n"); } } catch (IOException e) { Log.e(TAG, "Problems reading current version.", e); return 0; } finally { if (process != null) { process.destroy(); } } return 0; }
From source file:alluxio.cli.AlluxioFrameworkIntegrationTest.java
private static boolean processExists(String processName) throws Exception { Process ps = Runtime.getRuntime().exec(new String[] { "ps", "ax" }); InputStream psOutput = ps.getInputStream(); Process processGrep = Runtime.getRuntime().exec(new String[] { "grep", processName }); OutputStream processGrepInput = processGrep.getOutputStream(); IOUtils.copy(psOutput, processGrepInput); InputStream processGrepOutput = processGrep.getInputStream(); processGrepInput.close();/*from ww w .j a va 2 s . com*/ // Filter out the grep process itself. Process filterGrep = Runtime.getRuntime().exec(new String[] { "grep", "-v", "grep" }); OutputStream filterGrepInput = filterGrep.getOutputStream(); IOUtils.copy(processGrepOutput, filterGrepInput); filterGrepInput.close(); return IOUtils.readLines(filterGrep.getInputStream()).size() >= 1; }
From source file:ca.uqac.dim.net.verify.NetworkChecker.java
/** * Runs the NuSMV program as a spawned command-line process, and passes the * file to process through that process' standard input * @param file_contents A String containing the NuSMV model to process *//*from w w w . j a v a 2 s . c o m*/ private static RuntimeInfos runNuSMV(String file_contents) throws IOException, InterruptedException { StringBuilder sb = new StringBuilder(); Runtime rt = Runtime.getRuntime(); long time_start = 0, time_end = 0; // Start NuSMV, and feed the model through its standard input time_start = System.currentTimeMillis(); Process p = rt.exec(NUSMV_EXEC); OutputStream o = p.getOutputStream(); InputStream i = p.getInputStream(); InputStream e = p.getErrorStream(); Writer w = new PrintWriter(o); w.write(file_contents); w.close(); // Close stdin so NuSMV can start processing it // Wait for NuSMV to be done, then collect its standard output int exitVal = p.waitFor(); if (exitVal != 0) throw new IOException("NuSMV's return value indicates an error in processing its input"); BufferedReader br = new BufferedReader(new InputStreamReader(i)); String line; while ((line = br.readLine()) != null) { sb.append(line).append("\n"); } time_end = System.currentTimeMillis(); i.close(); // Close stdout e.close(); // Close stderr return new RuntimeInfos(sb.toString(), time_end - time_start); }
From source file:de.uni.bremen.monty.moco.Main.java
private static File buildExecutable(String outputFileName, String inputFileName, boolean compileOnly, String llvmCode) throws IOException, InterruptedException { File outputFile = null;// ww w. j a v a 2s. c om if (outputFileName != null) { outputFile = new File(outputFileName); } else if (inputFileName != null) { outputFile = new File(FilenameUtils.removeExtension(inputFileName)); } else if (compileOnly) { outputFile = File.createTempFile("output", null, null); outputFile.deleteOnExit(); } else { outputFile = new File("output"); } ProcessBuilder llcProcessBuilder = new ProcessBuilder("llc", "-O=2"); Process llcProcess = llcProcessBuilder.start(); PrintStream llcInput = new PrintStream(llcProcess.getOutputStream()); llcInput.print(llvmCode); llcInput.close(); ProcessBuilder ccProcessBuilder = new ProcessBuilder("cc", "-x", "assembler", "-o", outputFile.getAbsolutePath(), "-"); Process ccProcess = ccProcessBuilder.start(); IOUtils.copy(llcProcess.getInputStream(), ccProcess.getOutputStream()); ccProcess.getOutputStream().close(); System.err.print(IOUtils.toString(llcProcess.getErrorStream())); System.err.print(IOUtils.toString(ccProcess.getErrorStream())); return outputFile; }