如何设置一个cron作业来启动和停止java jar?

时间:2012-09-27 18:48:05

标签: java cron

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

1 个答案:

答案 0 :(得分:4)

我会编写一个简单的启动程序脚本,执行以下操作:

  • 采用两个命令行选项:
    • --start
      • 设置类路径和环境,如JAVA_HOME,以便运行jar。
      • Spawn java -jar myJar.jar
      • 捕获进程ID并将其存储在特定位置的myJar.pid文件中。
    • --stop
      • myJar.pid读取进程ID并发送kill信号。

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

我的应用程序中也会注册shutdown hook,以便在发出终止信号时正常退出。