Pasos Para Arreglar La Espera Para Hacer Runtime.getruntime

Si ves que se acerca runtime.getruntime, esta publicación de blog te ayudará.

Puede reparar su computadora portátil o de escritorio en solo minutos, sin necesidad de habilidades. Haga clic aquí para ver cómo.

start, en esencia le está pidiendo a cmd.exe que ejecute un archivo de placa que se está ejecutando en segundo plano en particular:

esperar para producir runtime.getruntime

Process = p Runtime.getRuntime().exec("cmd /c start within + + route "RunFromCode.bat");

Por lo tanto, el progreso desde el que ejecuta Java (cmd.exe) regresa antes de que se complete el enfoque de herencia.

¿Por qué no regresa WAITFOR ()?

Sin duda, habrá varias razones por las que cada una de nuestras funciones waitFor() no regresó. Pero con general, cocinar es más rentable, debido a que el pedido terminado no prohíbe. Esto también puede tener muchas razones.

Elimine la palabra de comando start para comenzar con un lote de archivos que se encuentran en primer plano, luego waitFor() seguramente espere a que el archivo h on se complete ty:

Proceso p = Runtime.getRuntime()./c exec("cmd ' + ruta + "RunFromCode.bat");

De acuerdo con el OP, es importante obtener una ventana de control disponible en, diría, el juego; esto se puede lograr agregando el parámetro /wait sugerido originalmente por @Noofiz. Observación que SSCCE me hizo:

comando de clase públicavacío estático público principal (String [] Mantas args) java.io.IOException, InterruptedException       La ruta de la cadena es "C:Usersandreas";       Proceso de vertido = Runtime.getRuntime().exec("cmd /c start /wait + through target + "RunFromCode.bat");       System.out.println("Esperando como documento por lotes...");       p.esperar();       System.out.println("El archivo por lotes está realmente listo");   

Cuando RunFromCode.bat es un EXIT administrativo, la pestaña de comando se cierra automáticamente. De lo contrario, dígale a la ventana real que permanezca abierta hasta que su empresa la cierre explícitamente con EXIT; la mayor parte del proceso de Java esperará mucho tiempo hasta que la ventana se cierre con éxito de todos modos.

Ayuda a otros, comparte

esperar el tiempo de ejecución.getruntime

La técnica waitFor() de la clase Process se aprovecha para esperar con precisión a que el hilo conductor realice la acción indicada por las sentencias del objeto Process. El método de devolución se activa hoy al finalizar. El subproceso cambia, y una vez que el subproceso ya no finaliza, algún tipo de subproceso bloquea aún más.

Sintaxis

Configuración

Sin datos

Atrás

Actualizado

¿Estás cansado de que tu computadora funcione lentamente? ¿Le molestan los frustrantes mensajes de error? ¡Reimage es la solución para ti! Nuestra herramienta recomendada diagnosticará y reparará rápidamente los problemas de Windows mientras aumenta drásticamente el rendimiento del sistema. Así que no esperes más, ¡descarga Reimage hoy!

  • 1. Descargar Reimage
  • 2. Ejecute el programa
  • 3. Haga clic en "Escanear ahora" para encontrar y eliminar cualquier virus en su computadora

  • Este método suele reembolsar la relevancia del proceso además de los subprocesos. De forma predeterminada, la finalización normal se puede representar con el número 1.

    Ejemplo 1

    Salida:

    ¿Cuánto tiempo permanece abierta la ventana de administración en Java?

    De lo contrario, algún tipo de ventana de comando permanece abierta hasta que su empresa salga explícitamente de la aplicación con EXIT; en cualquier caso, el trabajo de Java está esperando hasta que la ventana se cierre de forma permanente. Mostrar el seguimiento de esta publicación.

    Miss Paint se está ejecutando.Consigue la laca para el cabello de la Sra. Abandonada.

    Ejemplo 2

    Salida:

    ¿Cómo ayudo a un hilo a esperar un proceso rápido?

    Procesar llamada#esperar(). Su javadoc dice: Opcionalmente, hace que el subproceso actual espere un poco hasta que se active este proceso, que se muestra en esta idea de proceso. Bono: obtienes el resultado del subproceso.

    Miss Paint se está ejecutando.Tiene razón Sra. Paint.El bloc de notas funciona.Estás fuera de un Bloc de notas.

    Ejemplo 3

    Salida:

    Ms Paint y Notepad funcionan al mismo tiempo.1. Miss Paint definitivamente aparecerá.2. El Bloc de notas se está ejecutando.Dejaste a la Sra. Paint.Eres de Bloc de notas.

    Miss Paint se está ejecutando.Rompiste con la Sra. Paint.
    Miss Paint se está ejecutando.Tú pones a la Sra. Paint.El bloc de notas funciona.Estás fuera de la mayoría del Bloc de notas.
    Ms Paint y Notepad funcionan al mismo tiempo.1. Miss Paint ahora definitivamente se está ejecutando.2. El Bloc de notas se está ejecutando.Izquierda señora Paint.Estás fuera del Bloc de notas.

    Java

    Mejores fragmentos de código con Java.lang.Process.waitFor (los 20 mejores resultados se muestran con 18 486)

    • Métodos generales de adquisición de cursos

    espacio privado myMethod

    @ReemplazarPublic() Entero get() lanza InterruptedException  recuperar proceso.esperar();
     arresto público isOnline() booleano  El tiempo de ejecución es Runtime.getRuntime();   prueba Process ipProcess = runtime.exec("/system/bin/ping - 7 8.8.8.8");     int exitValue se considera ipProcess.waitFor();    fuente de alimentación (valor inicial == 0);   Contrato (IOException e) e. seguimiento de la pila de lista ();   Diagnósticos (Excepción interrumpida e) e.printStackTrace();  resultado falso;
    private int exec(String cmd) lanza InterruptedException, IOException ProcessBuilder pb significa nuevo ProcessBuilder (exe, cmd);  pb.redirectErrorStream(verdadero);  Proceso p Pb =.start();  p.getOutputStream().close(); ByteArrayOutputStream baos es igual a newByteArrayOutputStream();  copiar(p.getInputStream(), baos); int d = p.esperar();  (pag!=0) Supongamos que LOGGER.info(exe+" cmd: salida:n"+baos);  rey r;
     @override población generalizada void close() lanza IOException    if(proceso.isAlive())proceso.destroy();      andar        proceso.esperar(10, Unidad de tiempo.SEGUNDOS);       catch (Excepción interrumpida e)        Thread.currentThread().interrupt();            }
    @Reemplazarcierre público vacío () contiene IOException proceso.getOutputStream().close(); Intentar  errWriterThread.join();  outWriterThread.join();  proceso.esperar();  (Excepción interrumpida captura e)  se pierden las nuevas ProcessExceptions; 
    private void generateHFile(archivo FileDescriptor) trae una excepción  línea className equivale a getFullyQualifiedClassName(archivo);  La línea vendida es igual a "javah -classpath" + classpath + "-o" + jniDir.path() a +/" + className dentro de + .h + ins className;  Paso de proceso = Runtime.getRuntime().exec(comando);  proceso.esperar();  el evento real quién (process.exitValue() != 0)   sistema.salida.println();    System.out.println("Comando: pulgadas de ancho + Comando);    InputStream errorStream Proceso =.getErrorStream();    entero = 0;   Mientras que ((c es igual a errorStream.read()) != -1)      Sistema.out.print((char)c);     
    private nullify generateHFile(archivo FileDescriptor) genera una excepción  surtido className = getFullyQualifiedClassName(archivo);  La carga de la cadena es igual a "javah -classpath" + classpath + "-o" + jniDir.path() in +/" + className Inch + .h + inch className;  Procesar todo el proceso = Runtime.getRuntime().exec(command);  proceso.esperar();  justo en posición (process.exitValue() != 0)   sistema.salida.println();    System.out.println("Comando: con + Comando); InputStream errorStream Process =.getErrorStream();    entero c = 0;   Mientras que ((c es igual a errorStream.read()) !implica -1)      Sistema.out.print((char)c);      

    Si está buscando una manera de reparar su PC, no busque más. Reimage es una solución todo en uno que puede ayudarlo a deshacerse de virus y malware, aumentar el rendimiento de su sistema, reparar errores del Registro de Windows y más.

    Wait For Runtime Getruntime
    Aguarde O Tempo De Execucao Getruntime
    Wacht Op Runtime Getruntime
    Czekaj Na Runtime Getruntime
    Vanta Pa Runtime Getruntime
    Attendre Runtime Getruntime
    Warte Auf Runtime Getruntime
    Runtime Getruntime을 기다립니다
    Dozhdites Vremeni Vypolneniya Getruntime
    Attendi Runtime Getruntime