Start a Java process at low priority using Runtime.exec / ProcessBuilder.start?

后端 未结 1 1047
深忆病人
深忆病人 2020-12-14 21:21

I\'m trying to start an external process via Java using the ProcessBuilder class, and that much works. Currently running using the command:

new ProcessBuilde         


        
1条回答
  •  时光取名叫无心
    2020-12-14 21:58

    Use start command. It is windows dependent but does what you need. I have read there is no cross platform way for this.

    ProcessBuilder pb = new ProcessBuilder("cmd", "/C start /B /belownormal javaws -version");
    System.out.println("Before start");
    Process start = pb.start();
    

    It is even possible to read Input end Error streams.

    To wait:

    ProcessBuilder pb = new ProcessBuilder("cmd", "/C start /B /belownormal /WAIT javaws -sdasd");
    System.out.println("Before start");
    Process start = pb.start();
    start.waitFor();
    System.out.println("Done");
    

    For premature destroy:

    ProcessBuilder pb = new ProcessBuilder("cmd", "/C start /B /belownormal /WAIT javaws -sdasd");
    System.out.println("Before start");
    Process start = pb.start();
    start.destroy();
    start.waitFor();
    
    System.out.println("Done");
    

    0 讨论(0)
提交回复
热议问题