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

后端 未结 1 1041
深忆病人
深忆病人 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)
提交回复
热议问题