我正在尝试使用java运行批处理文件。批处理文件依次运行python程序。所以我应该等到批处理文件完成,然后继续我的程序。
面临的问题:
-
我无法在后台运行批处理文件。我只能通过start
来运行它
Process p = Runtime.getRuntime().exec("cmd /c start c://GCTI//IA/QAART//testercheck.bat");
-
一旦批处理文件运行,它不会自动关闭。
批处理文件
"C:Python27python.exe" -i "C:GCTIIAQAARTtestertest_monitor.py" -init "C:GCTIIAEpiPhoneDispatcher6initINIT_Designer_QAART_Dispatcher_Chat.PY" -testlist "C:GCTIIAASR_QAARTdat filesChatAutomationchat.dat" 23
你能帮我在后台运行这个批处理文件吗?
您不需要批处理文件。你可以使用Java .lang. processbuilder类直接从Java代码中执行Python程序。
ProcessBuilder pb = new ProcessBuilder("C:\Python27\python.exe",
"-i",
"C:\GCTI\IAQAART\tester\test_monitor.py",
"-init",
"C:\GCTI\IA\EpiPhone\Dispatcher6\init\INIT_Designer_QAART_Dispatcher_Chat.PY",
"-testlist",
"C:\GCTI\IA\ASR_QAART\dat files\ChatAutomation\chat.dat",
"23");
Process p = pb.start();
int result = p.waitFor();
参考ProcessBuilder
类中的其他方法来处理Python脚本的输出,例如方法inheritIO