Java から wkhtmltopdf を実行しています。プロセスを作成しましたが、タスク マネージャーでもコンソールで何度も繰り返されるため、プロセスがハングしているように見えます。
これは私がwkhtmltopdfを実行する方法です:
String command = applicationLocation + "wkhtmltopdf.exe -O Landscape " + reqURL + "?" + reqQuery + " c:/PDF/" + folderName + "/" + id + "/" + folderName + ".pdf";
Process p = Runtime.getRuntime().exec(command);
ジョブが完了した後、プロセスを「破棄」するにはどうすればよいですか?
これは私にとってはうまくいきませんでした。プロセスが停止することはなく、コードが while ループに入ることもありませんでした。
ProcessBuilder pb = new ProcessBuilder(application, htmlFilePath, pdfFilePath);
Process process = pb.start();
BufferedReader errStreamReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
System.out.println("read errstreamreader");
//not "process.getInputStream()"
String line = null;
line = errStreamReader.readLine();
while(line != null) {
System.out.println(line);
line = errStreamReader.readLine();
if(line.equals("Done")) {
process.destroy();
System.out.println("destroyed process");
}
}