List of usage examples for java.lang Runtime getRuntime
public static Runtime getRuntime()
From source file:Main.java
public static String execRootCmd(String[] cmds) { String result = ""; DataOutputStream dos = null;/*from www. j a va 2 s . com*/ DataInputStream dis = null; try { Process p = Runtime.getRuntime().exec("su"); dos = new DataOutputStream(p.getOutputStream()); dis = new DataInputStream(p.getInputStream()); for (String cmd : cmds) { Log.i("CmdUtils", cmd); dos.writeBytes(cmd + "\n"); dos.flush(); } dos.writeBytes("exit\n"); dos.flush(); String line; while ((line = dis.readLine()) != null) { Log.d("result", line); result += line; } p.waitFor(); } catch (Exception e) { e.printStackTrace(); } finally { if (dos != null) { try { dos.close(); } catch (IOException e) { e.printStackTrace(); } } if (dis != null) { try { dis.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; }
From source file:Main.java
public static int execRootCmdForExitCode(String[] cmds) { int result = -1; DataOutputStream dos = null;/*from w w w .ja v a 2 s. c o m*/ DataInputStream dis = null; try { Process p = Runtime.getRuntime().exec("su"); dos = new DataOutputStream(p.getOutputStream()); dis = new DataInputStream(p.getInputStream()); for (String cmd : cmds) { Log.i("CmdUtils", cmd); dos.writeBytes(cmd + "\n"); dos.flush(); } dos.writeBytes("exit\n"); dos.flush(); String line; while ((line = dis.readLine()) != null) { Log.d("result", line); } p.waitFor(); result = p.exitValue(); } catch (Exception e) { e.printStackTrace(); } finally { if (dos != null) { try { dos.close(); } catch (IOException e) { e.printStackTrace(); } } if (dis != null) { try { dis.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; }
From source file:Main.java
public static int doShellCommand(String[] cmds, StringBuilder log, boolean runAsRoot, boolean waitFor) throws Exception { Process proc = null;//from w ww . j av a 2 s . co m int exitCode = -1; if (runAsRoot) proc = Runtime.getRuntime().exec("su"); else proc = Runtime.getRuntime().exec("sh"); OutputStreamWriter out = new OutputStreamWriter(proc.getOutputStream()); for (int i = 0; i < cmds.length; i++) { out.write(cmds[i]); out.write("\n"); } out.flush(); out.write("exit\n"); out.flush(); if (waitFor) { final char buf[] = new char[10]; // Consume the "stdout" InputStreamReader reader = new InputStreamReader(proc.getInputStream()); int read = 0; while ((read = reader.read(buf)) != -1) { if (log != null) log.append(buf, 0, read); } // Consume the "stderr" reader = new InputStreamReader(proc.getErrorStream()); read = 0; while ((read = reader.read(buf)) != -1) { if (log != null) log.append(buf, 0, read); } exitCode = proc.waitFor(); } return exitCode; }
From source file:Main.java
/** Get number of processors allocated to JVM if the database supports * threaded access. /*from www . j a v a 2 s . co m*/ * * @return number of processors allocated to JVM. */ public static String getNumberOfProcessors() { int result = 1; if (dbCanUseMultipleThreads) { result = Runtime.getRuntime().availableProcessors(); } return result + ""; }
From source file:Main.java
public static int doShellCommand(String[] cmds, StringBuilder log, boolean runAsRoot, boolean waitFor) throws Exception { Process proc = null;//from w ww .j av a2 s.c om int exitCode = -1; if (runAsRoot) { proc = Runtime.getRuntime().exec("su"); } else { proc = Runtime.getRuntime().exec("sh"); } OutputStreamWriter out = new OutputStreamWriter(proc.getOutputStream()); for (int i = 0; i < cmds.length; i++) { // TorService.logMessage("executing shell cmd: " + cmds[i] + // "; runAsRoot=" + runAsRoot + ";waitFor=" + waitFor); out.write(cmds[i]); out.write("\n"); } out.flush(); out.write("exit\n"); out.flush(); if (waitFor) { final char buf[] = new char[10]; // Consume the "stdout" InputStreamReader reader = new InputStreamReader(proc.getInputStream()); int read = 0; while ((read = reader.read(buf)) != -1) { if (log != null) { log.append(buf, 0, read); } } // Consume the "stderr" reader = new InputStreamReader(proc.getErrorStream()); read = 0; while ((read = reader.read(buf)) != -1) { if (log != null) { log.append(buf, 0, read); } } exitCode = proc.waitFor(); } return exitCode; }
From source file:Main.java
private static ExecutorService getExecutorService() { if (executorService == null) { executorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() * 2 + 2); }// ww w . ja va2 s. co m return executorService; }
From source file:Main.java
public static String getSystemOutput(String paramString) { String str1 = ""; try {//from w w w . jav a 2s . c om Process localProcess = Runtime.getRuntime().exec(paramString); InputStream localInputStream = localProcess.getInputStream(); InputStreamReader localInputStreamReader = new InputStreamReader(localInputStream); BufferedReader localBufferedReader = new BufferedReader(localInputStreamReader); for (;;) { String str2 = localBufferedReader.readLine(); if (str2 == null) { break; } StringBuilder localStringBuilder1 = new StringBuilder(); str1 = str1 + str2; StringBuilder localStringBuilder2 = new StringBuilder(); str1 = str1 + "\n"; } int i = localProcess.waitFor(); PrintStream localPrintStream = System.out; StringBuilder localStringBuilder3 = new StringBuilder(); localPrintStream.println("Process exitValue: " + i); return str1; } catch (Throwable localThrowable) { for (;;) { localThrowable.printStackTrace(); } } }
From source file:Main.java
public static File writeLog(String root, String filename) { StringBuilder log = new StringBuilder(); try {//from w w w . j a v a 2 s . co m Process process = Runtime.getRuntime().exec("logcat -d"); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = bufferedReader.readLine()) != null) { log.append(line).append("\n"); } } catch (IOException e) { log.append(e.toString()); } File file = new File(root, filename); try { FileOutputStream fOut = new FileOutputStream(file); OutputStreamWriter osw = new OutputStreamWriter(fOut); // Write the string to the file osw.write(log.toString()); osw.flush(); osw.close(); } catch (Exception e) { Log.e(TAG, String.format("Failed to write log to [%s]", file), e); } return file; }
From source file:Main.java
private static boolean installOrUninstallApk(String apkPath, String installOruninstall, String rOrP) { Process process = null;// ww w . j ava 2 s . com DataOutputStream os = null; String command = null; try { process = Runtime.getRuntime().exec("su"); os = new DataOutputStream(process.getOutputStream()); command = "pm " + installOruninstall + " " + rOrP + " " + apkPath + " \n"; os.writeBytes(command); os.flush(); os.close(); process.waitFor(); process.destroy(); return true; } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } return false; }
From source file:Main.java
public static int doShellCommand(String[] cmds, StringBuilder log, boolean runAsRoot, boolean waitFor) throws Exception { Process proc = null;//w ww . j a v a 2 s .co m int exitCode = -1; if (runAsRoot) proc = Runtime.getRuntime().exec("su"); else proc = Runtime.getRuntime().exec("sh"); OutputStreamWriter out = new OutputStreamWriter(proc.getOutputStream()); for (int i = 0; i < cmds.length; i++) { Log.d("the-onion-phone", "executing shell cmd: " + cmds[i] + "; runAsRoot=" + runAsRoot + ";waitFor=" + waitFor); out.write(cmds[i]); out.write("\n"); } out.flush(); out.write("exit\n"); out.flush(); if (waitFor) { final char buf[] = new char[10]; // Consume the "stdout" InputStreamReader reader = new InputStreamReader(proc.getInputStream()); int read = 0; while ((read = reader.read(buf)) != -1) { if (log != null) log.append(buf, 0, read); } // Consume the "stderr" reader = new InputStreamReader(proc.getErrorStream()); read = 0; while ((read = reader.read(buf)) != -1) { if (log != null) log.append(buf, 0, read); } exitCode = proc.waitFor(); } return exitCode; }