当我双击批处理文件时,它可以正常工作。当我尝试通过Java运行批处理文件时,它不起作用。
由于它没有工作'我的意思是批处理文件确实运行,但它没有正确运行。它运行' sgminer.exe'使用--config。我可以看到配置部分有效,因为它显示了sgminer中的配置名称。
没有太多细节,错误是它并不认为GPU 0是一个openCL平台(它不是,但1,2,3,4,5是)。这在配置中指定忽略GPU 0.我包含此错误日志,但是如果我能够通过双击它来运行它,它应该具有与从cmd运行它相同的效果吗?我错过了什么?
以下是批处理文件的内容......
setx GPU_MAX_HEAP_SIZE 100
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_USE_SYNC_OBJECTS 1
C:\Users\miner\Desktop\LiteCoin\sgminer-5-1-0-optimized\sgminer.exe --config C:\Users\miner\Desktop\LiteCoin\sgminer-5-1-0-optimized\sgminer-fixed.conf
以下是我在java中运行批处理文件的方法:
Runtime runtime = Runtime.getRuntime();
try {
Process p1 = runtime.exec("cmd /c start C:\\Users\\miner\\Desktop\\LiteCoin\\sgminer-5-1-0-optimized\\runme.bat");
} catch (IOException ioException) {
System.out.println(ioException.getMessage());
}
感谢您提供的任何帮助:)
编辑:在有人要求之前,我尝试从cmd运行它,并启动runme.bat',它可以运行。同样只有&runme.bat'。两者都有效。