And*_*rew 13 java windows windows-task-scheduler processbuilder
我正在尝试使用ProcessBuilder类通过Java启动外部进程,这很有用.目前正在使用命令运行:
new ProcessBuilder("java", "-jar", jarfile, args);
Run Code Online (Sandbox Code Playgroud)
我想做的就是这样,但要以低优先级开始这个过程.我的程序目前只在Windows上运行,因此我可以使用特定于窗口的解决方案.一些研究建议我使用"start"命令,但是当我尝试从Java执行此操作时,它会给出一个异常,说它是一个无法识别的命令(同样的命令可以从cmd.exe运行).
有没有人知道如何从Java启动进程(特定于Windows,如果需要),具有belownormal优先级?
teo*_*jan 16
使用start命令.它依赖于Windows,但可以满足您的需求.我已经读过没有跨平台的方式.
ProcessBuilder pb = new ProcessBuilder("cmd", "/C start /B /belownormal javaws -version");
System.out.println("Before start");
Process start = pb.start();
Run Code Online (Sandbox Code Playgroud)
甚至可以读取输入结束错误流.
等待:
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");
Run Code Online (Sandbox Code Playgroud)
对于过早毁灭:
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");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16168 次 |
| 最近记录: |