【问题标题】:Running Java Infinite Loop in Ubuntu在 Ubuntu 中运行 Java 无限循环
【发布时间】:2013-06-26 21:04:52
【问题描述】:

您好,我正在 Ubuntu Web 服务器中编写 Java 程序,但它总是应该在无限循环中运行,或者至少在我停止它之前。当我在 Ubuntu 控制台中运行它时,它不允许我继续使用控制台。为了解决这个问题,我一直在使用“screen”命令并分离屏幕。 我想知道是否有更好的方法可以在不使用 screen 命令的情况下执行此操作?

【问题讨论】:

  • 你是说 Ubuntu 服务器? Ubuntu Server 允许 webserver 和许多其他服务 rtype。

标签: java ubuntu parallel-processing ubuntu-server


【解决方案1】:

运行不受挂断影响的程序

如果您对从命令行手动启动 Java 程序感到满意,但不想让屏幕运行,您可以使用“nohup”命令启动 Java 进程,例如 Java 程序即使您关闭控制台窗口或注销也会继续运行。

$ nohup java ...
nohup: ignoring input and appending output to `nohup.out'
$

在后台运行程序

如果您不介意 Java 程序在您关闭控制台窗口或注销时停止,您可以跳过使用“nohup”,只在命令末尾附加一个“&”来告诉您的 shell 运行后台应用。您可能还想在命令中添加“ > program.log 2>&1”,以避免在您将程序用于其他目的时在控制台窗口中显示该程序的任何输出。

$ java ... > program.log 2>&1 &
[2] 3128
$ jobs
[2]+ Running            java ... > program.log 2>&1 &
$

将程序作为守护进程运行

如果您希望 Java 程序在您每次重启机器时自动启动,您应该考虑创建一个 SYSV init-script,或者当您在 Ubuntu 上运行时,an Upstart Job definiton

【讨论】:

    猜你喜欢
    • 2020-05-19
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    相关资源
    最近更新 更多