在Java VM中创建Process时指定优先级

Java环境中,调用RunTime.exec()创建操作系统进程的时候,没有办法指定优先级。Thread.setPriority()倒是可以指定优先级,可是这个进程是在Java虚拟机里面的。

翻了翻,大牛们是说这个问题是Platform Specific,所以在Java环境中不提供解决办法。这个说法不怎么靠得住,文件系统同样是系统相关,Java不就支持的挺好。

有聪明人提出在Windows平台上可以借用 start.exe /LOW 来搞定这个事情,试了以下,完整的写法应该是:

cmd /c start /b /low yourcmd

cmd /c:后面的start貌似是个内部命令,类似cd,必须通过cmd 执行
start:启动一个新的窗口来执行命令
/b :不要实际的创建窗口
/low:以低优先级运行,其它还有
/normal 以一般优先级启动应用程序。
/high 以高优先级启动应用程序。
/realtime 以实时优先级启动应用程序。
/abovenormal 以超出常规优先级的方式启动应用程序。
/belownormal 以低出常规优先级的方式启动应用程序。
yourcmd:实际执行的命令行。

适用范围有限,Win2003及以上上没有问题,其它版本不确定。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值