gpt4 book ai didi

java - 如何禁用控制台弹出窗口并了解 ProcessBuilder 创建的进程何时完成,以便可以将其销毁

转载 作者:行者123 更新时间:2023-12-02 03:54:01 32 4
gpt4 key购买 nike

我正在使用 ProcessBuilder for Ghostscript 创建 java 进程,将 pdf 转换为 tiff,如下所示

process = new ProcessBuilder("D:\\ghost-script\\gs\\gs9.02\\bin\\gswin64.exe","-q",  "-dNOPAUSE", "-dBATCH", "-dMaxStripSize=8192", "-sDEVICE=tiffg4", "-r300x300", "-dDITHERPPI=200", "-sOutputFile=D:\\ghost-script\\example\\output.tif", "D:\\ghost-script\\example\\input2.pdf", "-c", "quit").start();

现在我有两个问题。

  1. 此过程打开控制台弹出窗口,我不需要它,因为它必须在服务器上运行。我可以设置什么参数来禁用该控制台弹出窗口。
  2. 输入文件可以是任意大小。我如何知道该过程何时完成,以便我可以销毁它。我不需要 Thread.sleep(time-to_sleep)。因为对于不同大小的输入文件,它是不同的,如果我采用上限,它将严重影响较小大小文件的性能。那么我该怎么做才能在进程完成后立即销毁该进程呢?

非常感谢任何帮助。

最佳答案

对于您的第一个问题,该窗口来自您启动的可执行文件,您可能需要使用

gswin64c.exe

查看此主题:Ghostscript suppress output windows when called by command line

对于第二个问题,请使用 waitFor()Process 对象上。

process.waitFor();

关于java - 如何禁用控制台弹出窗口并了解 ProcessBuilder 创建的进程何时完成,以便可以将其销毁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35648297/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com