作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我做了一个Java程序,并把它打成jar文件。我想让它在我的 AWS 上全天候运行 24/7。在我注销后,我使用一个名为 screen 的应用程序来保持它运行。我使用这个命令:
screen java -jar my_app.jar
但它不能一直运行。刚好跑了一两天就停了。我保留了一个日志,但没有发现任何终止它的异常。我想知道 JVM 是否会出于任何原因终止我的应用程序,例如高内存使用率? JVM 是否保留日志?在哪里可以找到JVM的日志?我必须让我的应用程序成为守护进程吗?如果我必须这样做,怎么做?
最佳答案
不,保持 Java 应用程序运行没有什么特别之处。至少有一个非守护线程仍然处于 Activity 状态。例如,这是一个将永远运行的完整程序:
public class Forever {
public static void main(String[] args) throws InterruptedException {
while (true) { Thread.sleep(1000); }
}
}
如果您的应用快死了,那是因为某个地方出现了错误。确保检查正在写入的任何日志以及进程的标准输出和标准错误以找出原因。
关于java - 如何保持 Java 程序 24/7 全天候运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19352630/
我是一名优秀的程序员,十分优秀!