【问题标题】:Java application which returns a prompt immediately立即返回提示的 Java 应用程序
【发布时间】:2015-03-23 09:33:58
【问题描述】:

假设我有一个类,它有一个如下所示的 main 方法和 hoge.hoge() 需要很长时间才能完成。

public static void main(String[] args){
 hoge.hoge();
}

此应用程序将从命令行执行。我希望应用程序立即成为后台任务,就像有人执行了一样:

java AboveClass &

即用户应该返回到提示。有没有办法在 Java 中实现这一点?

【问题讨论】:

  • 能否请您详细说明问题。
  • 这个问题是否与您的问题有关:stackoverflow.com/questions/12551514/…
  • 最好提供一个脚本供用户运行,它会启动 Java 程序并将其设置为背景。
  • 您混淆了两个不同的主题。使用“&”字符是 Unix 特性;它只是将启动的工作置于后台。这与 Java 允许您创建自己的线程这一事实无关。
  • @kensuke1984 为了更容易理解,我重新编写了您的问题。如果我有任何问题,请edit问题并纠正它。

标签: java prompt


【解决方案1】:

不幸的是,不,没有这种方法可以将任务变成后台任务。您可以尝试创建一个线程(并使其成为守护线程),但我想您会发现即使从 main 方法返回并且线程仍在运行,程序也不会返回到提示符。

@Duncan 建议提供一个您的用户可以运行的脚本,该脚本在后台启动 Java 程序。我推荐这种方法。

如果您想要一个全 Java 的解决方案,您可以尝试用 Java 创建脚本。请参阅How to execute system commands (linux/bsd) using Java 了解如何从 Java 程序执行命令。因此,您将在 Java 程序中执行“java ClassName &”。不是最漂亮的解决方案,但它有效。当然它要求“java”命令在路径中。

【讨论】:

  • 我明白了。非常感谢。我会尝试创建这样的脚本。
猜你喜欢
  • 2013-01-31
  • 1970-01-01
  • 2023-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
相关资源
最近更新 更多