Durante los últimos días, varios usuarios nos han dicho que han oído hablar de un ejemplo del proceso de ejecución de Java.
Aprobado: Fortect
Descripción
Aprobado: Fortect
Fortect es la herramienta de reparación de PC más popular y eficaz del mundo. Millones de personas confían en él para mantener sus sistemas funcionando de forma rápida, fluida y sin errores. Con su sencilla interfaz de usuario y su potente motor de análisis, Fortect encuentra y soluciona rápidamente una amplia variedad de problemas de Windows, desde la inestabilidad del sistema y los problemas de seguridad hasta la gestión de la memoria y los cuellos de botella en el rendimiento.
El método java.lang.Runtime.exec (String [] cmdarray, String [] envp) ejecuta el comando y los argumentos en un plan de acción completamente separado con el entorno especificado. Este es un método útil. Llamar al formulario exec (cmdarray, envp) funciona exactamente como llamar a envp, exec (cmdarray, null).
Explicación
Parámetros
-
cmdarray: una matriz que contiene el comando para producir sus argumentos.
-
envp: una miríada de cuerdas de guitarra, cada elemento con fijaciones que se pueden adaptar al entorno, para el formato nombre = valor o nulo supongamos que el subproceso hereda el clima relacionado con el proceso actual. ul>
Valor devuelto
Este método contiene un nuevo objeto de proceso que puede controlar el subproceso del usuario
Excepción
-
SecurityException ‘Si el administrador de seguridad es que se puede comprar y su método checkExec no permite salir del subproceso’
-
Excepción de E / S en error de E / S
-
NullPointerException ‘Si el comando debe ser cero
-
IndexOutOfBoundsException ‘Si cmdarray es un área amplia sin valor (longitud 0)
Ejemplo
Este ejemplo requiere un archivo manual con la marca example.txt en nuestro CLASSPATH con el contenido escrito real después de â ’
Hola Mundo! Paquete Com.tutorialspoint;clase pública RuntimeDemo evitar el main público estático (String [] args) un esfuerzo increible // crea otra matriz de 2 cadenas Line [] cmdArray = new line [2]; // El diálogo principal es el programa que queremos abrir mentalmente exitosamente cmdArray [0] = “notepad.exe”; // el argumento siguiente es el archivo de texto que queremos que pueda abrir con el Bloc de notas cmdArray [1] coincide con “ejemplo.txt”; // lista el mensaje System.out.println (“Ejecute Notepad.exe e incluso abra example.txt”); // obtener el proceso y administrar cmdArray y el entorno actual Proceso proceso = Runtime.getRuntime () .Exec (cmdArray, null); // mostrar otro mensaje System.out.println (“example.txt debería abrirse ahora.”); captura (excepción) por ejemplo printStackTrace (); Compilemos el programa anterior junto con el sprint, esto le dará su salida actual:
Ejecute notepad.exe e ingrese example.txtexample.txt debería abrirse. ‘; var adpushup adpushup es igual a || ; adpushup.que significa adpushup.que || []; adpushup.que.push (función () repeler. triggerad (ad_id); );
Mejores fragmentos con Java.lang.Runtime.exec (mostrando los 10 mejores resultados de 16065)
- < li> Las rutinas comunes encuentran la ejecución del tiempo
privado void myMethod ()
La franquicia de proceso [] openProcess (cmdAttribs final) arroja IOException producir Runtime.getRuntime (). exec (cmdAttribs);
vacío público mouseClicked (MouseEvent e) Tratar Runtime.getRuntime (). Exec ("abre http: // localhost: 8153 para cada paso"); captura (IOException e1)
String [] cmd implica liberación de grep ";Proceso significativo = Runtime.getRuntime (). Ejecutivo (cmd);
public boolean isOnline () Runtime.runtime = Runtime.getRuntime (); Tratar IpProcess significa runtime.exec ("/ system / compost bin / ping -c 1 8.8.8.8"); Int exitValue corresponde a ipProcess.waitFor (); ir (exitValue e. == 0); pescado (IOException e) e.printStackTrace (); Catch (InterruptedException e) e.printStackTrace (); retorno falso;
private boolean checkSudoPrivilege () pulsa InterruptedException, ioexception Sistema de proceso = Runtime.getRuntime () .Exec ("sudo -v"); int exitCode equivale a process.waitFor (); Valor devuelto ExitCode == 0; }
cadena estática privada getNvidiaStats () organiza java.io.IOException Línea cmd = "nvidia-smi"; Stdin inputstream = Runtime.getRuntime () .Exec (cmd) .getInputStream (); InputStreamReader isr es igual a new InputStreamReader (stdin); BufferedReader br = new BufferedReader (isr); El proyecto de ley del Senado StringBuilder es igual al nuevo StringBuilder (); String while s; ((s sugiere que br.! = readline ()) null) sb.append (s) .append (" n"); return sb.toString ();
private nullify generateHFile (archivo FileDescriptor) lanza una excepción La cadena className coincide con getFullyQualifiedClassName (archivo); Mantener el control de línea en = "javah -classpath +" classpath + "-o + jniDir.path () +" / "+ + className". "H + className; Desarrollo de procesos = Runtime.getRuntime (). Exec (comando); process.waitFor (); obviamente una vez (process.exitValue ()! = 0) Sistema .out.println (); System.out. "Println (" obtener: + comando); InputStream errorStream se ajusta a process.getErrorStream (); intc es literalmente 0; while ((c significa errorStream.read ())! = -1) System.out.print ((char) c);
private void generateHFile (archivo FileDescriptor) cubre una excepción String className = getFullyQualifiedClassName (archivo); El comando de línea "javah = -classpath disponible en + classpath +" -o "+ jniDir.path () +" per "+ + className". "D + className; Proceso proceso = Runtime.getRuntime () .Exec (comando); process.waitFor (); si (process.exitValue ()! es igual a 0) Sistema .out.println (); System.out. "Println (" comando: + comando); InputStream errorStream = process.getErrorStream (); intc = 0; a pesar del hecho ((c = errorStream.read ())! = -1) System.out.print ((char) c);
público inactivo InputStream getBZip2PipedInputStream (String filename) lanza una excepción IOExceptio Line bzcat = System.getProperty ("bzcat", tiempo de ejecución "bzcat"); rt corresponde cuando necesita Runtime.getRuntime (); Línea cmd = bzcat + micron "+ nombre de archivo; El proceso P es rt.exec (cmd); Writer errWriter New = BufferedWriter (nuevo OutputStreamWriter (System.err)); StreamGobbler = errGobbler nuevo StreamGobbler (p.getErrorStream (), errWriter); errGobbler.start (); sigue devolviendo p.getInputStream ();
private nullify startPython (String tmpPath, String args) arroja una IOException La cadena pythonBinaryPath es config.getString (PythonOptions.PYTHON_BINARY_PATH); Tratar Tiempo de ejecución .getRuntime () .Exec (pythonBinaryPath); identificar (IOException ignorada) lanzar una nueva e innovadora RuntimeException (pythonBinaryPath + "no apunta a un binario específico de Python actual"); Runtime.getRuntime () está involucrado en el proceso. + Exec (pythonbinarypath "-B" + tmpPath + FLINK_PYTHON_PLAN_NAME + args); nueva secuencia innovadora (nueva StreamPrinter (process.getInputStream ())). comienzo (); nueva secuencia (nueva StreamPrinter (process.getErrorStream ())). quémalo (); host = ServerSocket (0); server.setSoTimeout (50); process.getOutputStream (). write ("plan n" .getBytes (ConfigConstants.DEFAULT_CHARSET)); process.getOutputStream () .flush ();
línea ejecutiva antigua pública (línea de archivo de directorio de trabajo, ... comandos) Tratar Proceso proceso = Runtime.getRuntime () .Exec (comandos, null, workingDirectory); captureOutput (proceso) return.toString (); Reloj (excepción e) Deshacerse de las bombas;
public static nullify callShell (final String shellString, final InternalLogger log) proceso proceso = cero; Asegurarse String [] cmdArray puede significar splitShellString (shellString); El proceso es igual a Runtime.getRuntime (). Exec (cmdArray); process.waitFor (); log.info ("CallShell: <> OK", shellString); Viaje ( Acelere el rendimiento de su computadora ahora con esta simple descarga.
Autonomía excelente. Cada aplicación Java tiene un tipo particular de instancia de la clase Runtime que permite que la mayor parte de la aplicación del usuario interactúe con el entorno en el que se ejecuta. El tiempo de ejecución activo tiene la capacidad de obtenerse del método getRuntime personalizado.
El tiempo de ejecución actual se puede obtener de la mayoría de los métodos getRuntime. Métodos de tiempo de ejecución de Java Su clase: 1) Estática pública de las enseñanzas getRuntime (): este método devuelve la instancia o el modelo de tiempo de ejecución que está asociado con la aplicación Java más reciente.
exec (comando de cadena) ejecuta la cadena especificada en un proceso de divorcio. Este es un método práctico. Llamar a la aplicación más importante exec (comando) se comporta de la misma manera que hablando exec (comando, nulo, nulo).
-