【问题标题】:Prevent background process from showing up on Dock防止后台进程显示在 Dock 上
【发布时间】:2013-07-31 22:56:13
【问题描述】:

我有一个 Java 应用程序。对于某些任务,我使用ProcessBuilder 并行运行另一个JVM 实例。即我的主应用程序使用 Process 启动另一个 JVM 实例,然后两者都使用 I/O 进行通信。

但在 Mac 上的 Dock 上,它显示了两个过程:

我不希望这样,因为其他进程只做后端工作,不需要预先显示。这也是一种风险,因为他可以轻松地手动强制退出另一个进程。

应该做些什么来确保它在后台运行并且不会在停靠栏上显示自己

【问题讨论】:

    标签: java macos


    【解决方案1】:

    如果您的后端处理器确实不需要任何屏幕资源,那么最简单的方法就是以 headless 模式启动新的 JVM:

    java -Djava.awt.headless=true com.bl.ProcessMain
    

    【讨论】:

      【解决方案2】:

      要全局启用它而不是向每个进程添加选项,请在 .bashrc/.zshrc 启动脚本中像这样设置 JAVA_TOOL_OPTIONS 变量。

      导出 JAVA_TOOL_OPTIONS='-Djava.awt.headless=true'

      参考这里:

      http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/envvars.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-01
        • 2011-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多