Java 防止后台进程显示在Dock上
我有一个Java应用程序。对于某些任务,我使用Java 防止后台进程显示在Dock上,java,macos,Java,Macos,我有一个Java应用程序。对于某些任务,我使用ProcessBuilder并行运行另一个JVM实例。i、 e.我的主应用程序使用进程启动另一个JVM实例,然后两者都使用i/O进行通信 但在Mac上的Dock上,它显示了以下两个过程: 我不希望这样,因为另一个流程只做后端工作,不需要提前显示。此外,这也是一个风险,因为他可以手动强制退出另一个进程很容易 应该做些什么来确保它在后台运行,并且不会在dock上显示自己如果您的后端处理器确实不需要任何屏幕资源,那么最简单的方法就是在无头模式下启动新的J
ProcessBuilder
并行运行另一个JVM实例。i、 e.我的主应用程序使用进程启动另一个JVM实例,然后两者都使用i/O进行通信
但在Mac上的Dock
上,它显示了以下两个过程:
我不希望这样,因为另一个流程只做后端工作,不需要提前显示。此外,这也是一个风险,因为他可以手动强制退出另一个进程很容易
应该做些什么来确保它在后台运行,并且不会在dock上显示自己如果您的后端处理器确实不需要任何屏幕资源,那么最简单的方法就是在无头模式下启动新的JVM:
要全局启用它,而不是向每个进程添加选项,请在.bashrc/.zshrc启动脚本中设置JAVA_TOOL_OPTIONS变量,如下所示
导出JAVA_工具_选项='-Djava.awt.headless=true'
此处参考:
java -Djava.awt.headless=true com.bl.ProcessMain