4

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

4

1 回答 1

5

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

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

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

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

于 2012-09-27T18:56:56.293 回答