Runtime.getruntime을 기다리는 수정 단계

runtime.getruntime이 보류 중이라고 표시되는 경우 이 웹 리소스 게시물이 도움이 될 것입니다.

기술이 필요 없이 몇 분 만에 노트북이나 데스크탑을 고칠 수 있습니다. 방법을 보려면 여기를 클릭하십시오.

start, 실제로 백그라운드에서 실행 중인 배치 파일을 실행하기 위해 cmd.exe에 대해 문의하고 있습니다.

runtime.getruntime 대기

Process = l'ordre de Runtime.getRuntime().exec("cmd /c start " + + track "RunFromCode.bat") ;

따라서 Java를 실행한 프로세스(cmd.exe)는 상속 프로세스가 완료되기 전에 반환됩니다.

WAITFOR() 반환을 의미하지 않는 이유는 무엇입니까?

waitFor() 함수가 한 번 반환되지 않은 데에는 여러 가지 이유가 있을 수 있습니다. 그러나 일반적으로 로스팅은 포장된 주문이 멈추지 않기 때문에 더 수익성이 높습니다. 이것은 많은 이유가 있을 수 있습니다.

명령어 단어 start를 제거하여 앞에서 찾은 파일 모음을 시작한 다음 waitFor()는 ty를 수행하기 위해 파일 h에서 대기합니다:

프로세스 p = Runtime.getRuntime()./c exec("cmd ha + 경로 + "RunFromCode.bat");

OP에 따르면 볼 게임에서 제어된 창을 사용할 수 있도록 하는 것이 중요합니다. 이는 @Noofiz에 따라 제안된 /wait 매개변수를 파고들어 달성할 수 있습니다. 관찰 SSCCE가 저를 환영하기 위해 노력했습니다:

공개 클래스 명령public static void main(String[] 담요 인수) java.io.IOException, InterruptedException       문자열 통로는 "C:Usersandreas"입니다.       프로세스 p = Runtime.getRuntime().exec("cmd /c start /wait + " 죄송합니다 희생자 + "RunFromCode.bat");       System.out.println("그룹 문서를 기다리는 중...");       p.wait();       System.out.println("배치 파일이 준비되었습니다.");   

RunFromCode.bat가 관리자 EXIT를 실행하면 명령창이 바로 닫힙니다. 그렇지 않으면 EXIT를 사용하여 명시적으로 켤 때까지 열린 상태로 유지하도록 창에 지시하십시오. Java 프로세스는 어쨌든 창이 특정될 때까지 긴 인스턴스를 기다립니다.

다른 사람을 돕고 공유

<표>

wait by runtime.getruntime

모든 Process 클래스의 waitFor() 메서드는 실행 스레드를 완전히 대기하고 Process 개체의 자체 명령문이 수행하는 작업을 수행하는 데 사용됩니다. 반환 메서드는 즉시 실행되어 완료됩니다. 하위 프로세스가 변경되고 이러한 하위 프로세스가 더 이상 종료되지 않으면 스레드가 더 많이 비활성화됩니다.

구문

설정

데이터 없음

뒤로

업데이트됨

컴퓨터가 느리게 실행되는 것이 지겹습니까? 실망스러운 오류 메시지에 짜증이 납니까? Reimage은 당신을 위한 솔루션입니다! 우리가 권장하는 도구는 시스템 성능을 극적으로 향상시키면서 Windows 문제를 신속하게 진단하고 복구합니다. 그러니 더 이상 기다리지 말고 지금 Reimage을 다운로드하세요!

  • 1. Reimage 다운로드
  • 2. 프로그램 실행
  • 3. 컴퓨터에서 바이러스를 찾아 제거하려면 "지금 검색"을 클릭하십시오.

  • 이 메서드는 일반적으로 프로세스 및 하위 프로세스의 중요도를 반환합니다. 기본적으로 일반 완료는 숫자 1로 표시됩니다.

    예시 1

    출력:

    Java에서 명령 창을 여는 데 얼마나 많은 시간이 소요됩니까?

    그렇지 않으면 명령 문은 EXIT를 사용하여 애플리케이션을 명시적으로 종료할 때까지 열린 상태로 유지됩니다. 두 경우 모두 Java 작업은 일반적으로 창이 영구적으로 닫힐 때까지 기다립니다. 이 게시물에 대한 추구를 표시합니다.

    Miss Paint가 거의 확실하게 실행 중입니다.포세이큰 부인의 헤어스프레이를 받습니다.

    예시 2

    출력:

    특정 프로세스를 기다리게 하려면 어떻게 합니까?

    #waitFor() 호출을 처리합니다. 해당 javadoc은 다음과 같이 말합니다. 선택적으로 현재 스레드가 이 특정 프로세스 아이디어로 표시되는 이 우수한 프로세스가 종료될 때까지 대기하도록 합니다. 보너스: 하위 프로세스의 출력을 얻습니다.

    미스 페인트가 실행 중입니다.페인트 부인을 떠났습니다.메모장이 작동합니다.메모장이 없습니다.

    예시 3

    출력:

    Ms Paint와 Notepad는 같은 시간에 작업합니다.1. 미스페인트가 반드시 등장할 것이다.2. 메모장이 실행 중입니다.당신은 왼손잡이 부인 페인트.메모장이 없습니다.

    미스 페인트가 실행 중입니다.페인트 부인을 떠났습니다.
    미스 페인트가 실행 중입니다.페인트 부인을 떠났습니다.메모장이 작동합니다.메모장이 없습니다.
    미스 그림판과 메모장은 공통 시간에 작동합니다.1. 미스 페인트는 분명히 실행 중입니다.2. 메모장이 실행 중입니다.페인트 부인을 떠났습니다.메모장이 없습니다.

    <헤더>

    자바

    Java.lang.Process.waitFor를 사용한 최고의 코드 조각(18,486으로 표시된 상위 20개 결과)

    <메인><케이스><케이스>

    <울><리>일반 공정 투자 방법
    <올><리><리><리><리><리>

    개인 공간 myMethod

    @바꾸기Public() Integer get()이 InterruptedException을 펀치합니다.  반환 process.waitFor();
     경찰 체포 isOnline() boolean  런타임은 Runtime.getRuntime()입니다.   프로세스 ipProcess는 runtime.exec("/system/bin/ping - 1 8.8.8.8")와 같습니다.     int exitValue는 사실 ipProcess.waitFor();    전력 기준(초기값 == 0);   계약(IOException e) e. 인쇄 합산 trace();   진단(InterruptedException e) e.printStackTrace();  잘못된 결과;
    private int exec(String cmd)는 InterruptedException, IOException을 던집니다. ProcessBuilder pb 리소스 새 ProcessBuilder(exe, cmd);  pb.redirectErrorStream(참);  프로세스 p Pb =.start();  p.getOutputStream().close(); ByteArrayOutputStream baos = newByteArrayOutputStream();  복사(p.getInputStream(), baos); int l은 p.waitFor()를 의미합니다.  (p!=0) LOGGER.info(exe+" cmd: 출력:n"+baos);  왕 r;
     @override 일반 번호 void close()가 IOException을 발생시킵니다.    if(process.isAlive())process.destroy();      걷다        process.waitFor(10, TimeUnit.SECONDS);       catch(InterruptedException e)        Thread.currentThread().interrupt();            }
    @바꾸기public void close()에는 IOException이 포함됩니다. 프로세스.getOutputStream().close(); 시도하다  errWriterThread.join();  outWriterThread.join();  프로세스.대기();  (InterruptedException 보기 e)  새로운 ProcessException을 무시하십시오. 
    private void generateHFile(FileDescriptor 파일) 예외 던지기  라인 className = getFullyQualifiedClassName(파일);  판매된 라인 = "javah -classpath" + classpath + "-o" + jniDir.path() +/" + className + .h + " className으로 반환됨;  처리 단계 = Runtime.getRuntime().exec(command);  프로세스.대기();  (process.exitValue() !가 0과 같은 정확한 실제 이벤트)   system.out.println();    System.out.println("명령어: " + 명령);    InputStream errorStream 프로세스 =.getErrorStream();    정수 c는 0과 같습니다.   동안 ((c as errorStream.read()) != -1)      System.out.print((char)c);     
    private void generateHFile(FileDescriptor 파일)에 예외가 있습니다.  행 className은 getFullyQualifiedClassName(file)과 같습니다.  String load = "javah -classpath" + classpath + "-o" + jniDir.path() do +/" + className Inch + .h + " className;  전체 프로세스 처리 = Runtime.getRuntime().exec(command);  프로세스.대기();  만일을 대비하여 (process.exitValue() !가 0을 의미함)   system.out.println();    System.out.println("명령: " + 명령);InputStream errorStream 프로세스 =.getErrorStream();    정수 화학 = 0;   동안 ((c는 errorStream.read()와 같습니다) != -1)      System.out.print((char)c);      

    PC를 고칠 방법을 찾고 있다면 더 이상 찾지 마십시오. Reimage은 바이러스 및 맬웨어 제거, 시스템 성능 향상, Windows 레지스트리 오류 복구 등을 도와주는 올인원 솔루션입니다.

    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
    Esperar Tiempo De Ejecucion Getruntime
    Warte Auf Runtime Getruntime
    Dozhdites Vremeni Vypolneniya Getruntime
    Attendi Runtime Getruntime