繁体   English   中英

如何使用高优先级的ProcessBuilder运行java程序?

[英]How to run a java program using ProcessBuilder in high priority?

我正在使用批处理文件来调用GUI。 该GUI有一个按钮(B1),点击该按钮可调用其自身的副本。 现在我想增加GUI的优先级,无论它是从批处理还是按钮B1运行。

对于批处理,我可以增加它的优先级,但不能用B1。

单击按钮B1执行以下代码:(我使用cmd来提高优先级;我不知道是否还有其他方法)

final ProcessBuilder processBuilder = new ProcessBuilder("cmd", 
  " /C", 
  " start /high", 
  path,
  "-DTESTKERNEL_PROPERTIES=" + tempFile.getCanonicalPath(),
  "-Djava.util.logging.config.file=" + loggingFile,
  "-Djava.library.path=" + libraryPath,
  "-cp",
  classpath,
  "com.abc.cde.gui.typetwo.GuiTypeTwo");
processBuilder.directory(new File(System.getProperty("user.dir")));

DTESTKERNEL_PROPERTIES是一个属性文件,是执行代码所必需的。

这是输出列表:

cmd, 
/C, 
start, 
/high, 
D:\jdk\jre\bin\javaw, 
-DTESTKERNEL_PROPERTIES=C:\Users\test\AppData\Local\Temp\testkernel2667928753863437728.properties, 
-Djava.util.logging.config.file=../config/logging.properties, 
-Djava.library.path=D:\TestKernalMain\lib, 
-cp, 
D:\Workspace\TestKernalMain\bin;
D:\TestKernalMain\lib\bundled\bsh-2.0b5.jar;
D:\TestKernalMain\lib\bundled\commons-cli-1.2.jar;
D:\TestKernalMain\lib\bundled\commons-collections-3.2.1.jar;
D:\TestKernalMain\lib\bundled\commons-configuration-1.8.jar;
D:\TestKernalMain\lib\bundled\commons-io-2.0.jar;
D:\TestKernalMain\lib\bundled\commons-lang-2.5.jar;
D:\TestKernalMain\lib\bundled\commons-logging-1.1.1.jar;
D:\TestKernalMain\lib\bundled\commons-net-2.2.jar;
D:\TestKernalMain\lib\bundled\commons-vfs2-2.0.jar;
D:\TestKernalMain\lib\bundled\eventbus-1.4.jar;
D:\TestKernalMain\lib\bundled\javasimon-core-2.3.0.jar;
D:\TestKernalMain\lib\bundled\javasimon-jmx-2.3.0.jar;
D:\TestKernalMain\lib\bundled\jpcsc.jar;
D:\TestKernalMain\tools\ant\ant-antlr.jar;
D:\TestKernalMain\tools\ant\ant-apache-bcel.jar;
D:\TestKernalMain\tools\ant\ant-apache-bsf.jar;
D:\TestKernalMain\tools\ant\ant-apache-log4j.jar;
D:\TestKernalMain\tools\ant\ant-apache-oro.jar;
D:\TestKernalMain\tools\ant\ant-apache-regexp.jar;
D:\TestKernalMain\tools\ant\ant-apache-resolver.jar;
D:\TestKernalMain\tools\ant\ant-apache-xalan2.jar;
D:\TestKernalMain\tools\ant\ant-commons-logging.jar;
D:\TestKernalMain\tools\ant\ant-commons-net.jar;
D:\TestKernalMain\tools\ant\ant-contrib.jar;
D:\TestKernalMain\tools\ant\ant-jai.jar;
D:\TestKernalMain\tools\ant\ant-javamail.jar;
D:\TestKernalMain\tools\ant\ant-jdepend.jar;
D:\TestKernalMain\tools\ant\ant-jmf.jar;
D:\TestKernalMain\tools\ant\ant-jsch.jar;
D:\TestKernalMain\tools\ant\ant-junit.jar;
D:\TestKernalMain\tools\ant\ant-junit4.jar;
D:\TestKernalMain\tools\ant\ant-launcher.jar;
D:\TestKernalMain\tools\ant\ant-netrexx.jar;
D:\TestKernalMain\tools\ant\ant-swing.jar;
D:\TestKernalMain\tools\ant\ant-testutil.jar;
D:\TestKernalMain\tools\ant\ant.jar;
D:\TestKernalMain\tools\cardreader\javactapi.jar;
D:\TestKernalMain\tools\iText\iText-2.1.7.jar;
D:\TestKernalMain\tools\iText\iText-rtf-2.1.7.jar;
D:\TestKernalMain\tools\jdiff\antjdiff.jar;
D:\TestKernalMain\tools\jdiff\jdiff.jar;
D:\TestKernalMain\tools\jdiff\xerces.jar;
D:\TestKernalMain\tools\JUnit\junit.jar;
D:\TestKernalMain\tests\lib\cglib-nodep-2.2.2.jar;
D:\TestKernalMain\tests\lib\easymock-3.0.jar;
D:\TestKernalMain\tests\lib\jetm-1.2.3.jar;
D:\TestKernalMain\tests\lib\jetm-optional-1.2.3.jar;
D:\TestKernalMain\tests\lib\obj-1.2.jar;
D:\Workspace\GUITypeTwo\bin;
D:\TestKernalMain\lib\TestKernel.jar;
D:\GUITypeTwo\lib\external\docking-frames-core.jar;
D:\GUITypeTwo\lib\external\docking-frames-common.jar;
D:\GUITypeTwo\lib\external\glasslib.jar;
D:\GUITypeTwo\lib\external\docking-frames-ext-glass.jar;
D:\GUITypeTwo\lib\external\h2-1.3.167.jar;
D:\GUITypeTwo\lib\external\mydoggy-api.jar;
D:\GUITypeTwo\lib\external\mydoggy-plaf.jar;
D:\GUITypeTwo\lib\external\mydoggy-res.jar;
D:\GUITypeTwo\lib\external\swingx-core-1.6.2.jar;
D:\GUITypeTwo\lib\external\TableLayout.jar;
D:\GUITypeTwo\lib\external\ValidationAPI.jar;
D:\GUITypeTwo\tools\MPlus.jar;
D:\GUITypeTwo\tools\JUnit\junit-4.9.jar;
D:\TestKernalMain\config, 
com.gui.typetwo.GuiTypeTwo

删除/C之前的空格并start并将"start /high"拆分为两个单独的参数:

new ProcessBuilder("cmd", "/C", "start", "/high", ...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM