【问题标题】:Java app pauses execution until console window is "clicked" on Linux RHEL 6Java 应用程序暂停执行,直到在 Linux RHEL 6 上“单击”控制台窗口
【发布时间】:2020-10-01 16:33:49
【问题描述】:

我们有一个在 linux RHEL 6 上运行的 java 应用程序。它是使用 java -jar 从控制台启动的。

有时,执行会暂停并且在单击控制台之前不会恢复。我们正在使用 log4j 并有一个写入控制台的附加程序。我们很难随意复制它,但这里有 2 个我们看到它发生的实例。

  1. 从应用程序启动联机帮助时。在线帮助在显示 pdf 的浏览器(linux 上的 firefox)中启动。如果启动帮助服务器时出错,则会将文本写入同一个控制台并定期导致暂停。
  2. 当有大量日志消息发送到控制台时。

日志消息或错误消息中是否有某些字符序列正在执行我们不知道的操作?

我们将不胜感激任何能够为我们指明正确方向的信息。

【问题讨论】:

  • 应用程序“暂停”时在做什么?您是否尝试过从应用程序获取线程转储以查看正在运行的代码?有什么在运行吗?应用程序是否在等待输入?方法是否陷入循环?
  • 如何从 RHEL access.redhat.com/solutions/18178 上正在运行的应用程序中获取 Java 线程转储
  • 我们会试试看凯文谢谢。我们认为这是应用程序之外的东西,或者是我们写入控制台的东西的副作用。仅当我们在 linux 机器上运行时才会看到此问题,而在 windows 中看不到此问题。我们将尝试线程转储,谢谢。

标签: java linux console


【解决方案1】:

应用程序暂停,因为您选择了控制台并单击或按 Enter 选择被删除,流程再次开始。

要重现,只需选择控制台,当您按下回车时,选择将被删除并重新启动应用程序。

【讨论】:

  • 选择控制台时不会暂停。它在放手时暂停。单击控制台时它会再次开始运行。
  • 那么有什么东西在等待控制台输入吗?
猜你喜欢
  • 2018-09-29
  • 1970-01-01
  • 2017-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
相关资源
最近更新 更多