如何设置定时任务启动和停止Java Jar?

4

我已经将我的JAVA代码编译成了一个jar文件,并将其移植到了我的Ubuntu服务器上。 我可以使用java -jar myJar.jar的常规方式手动启动它,但我希望我的程序只在8小时内运行。 我该如何设置我的jar文件作为一个进程,在早上9点开始自动关闭于下午5点?

1个回答

5
我会编写一个简单的启动器脚本,执行以下操作:
  • 接收两个命令行选项:
    • --start
      • 设置类路径和环境变量,如JAVA_HOME,以运行jar文件。
      • 运行java -jar myJar.jar
      • 捕获进程ID并将其存储在特定位置的myJar.pid文件中。
    • --stop
      • myJar.pid读取进程ID并发送kill信号。

然后,在cron中安排两个作业,一个用--start参数调用此启动器脚本,在上午9点运行,另一个用--stop参数调用相同的脚本,在下午5点运行。

我也会在我的应用程序中注册一个关闭挂钩,以便在发出kill信号时优雅地退出。

1
+1 - 很棒的答案。我也喜欢提到包含一个关闭挂钩。 - Jesse Webb
谢谢,这让我找对了方向。另外,我喜欢关闭挂钩。虽然我已经在编程JAVA一段时间了,但我从未遇到过这种情况。它将在许多场合中很有用!再次感谢! - Reese

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接