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

标签 java cron

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

最佳答案

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

  • 接受两个命令行选项:
    • --开始
      • 为 jar 运行设置类路径和环境,例如 JAVA_HOME。
      • 生成 java -jar myJar.jar
      • 捕获进程 ID 并将其存储在特定位置的 myJar.pid 文件中。
    • --停止
      • myJar.pid 中读取进程 ID 并发送一个 kill 信号。

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

我也会有一个 shutdown hook在我的应用程序中注册以在发出 kill 信号时正常退出。

关于java - 如何设置 cron 作业来启动和停止 java jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12628147/

相关文章:

php - 如果我回应了一个声明但没有人听到,它会得到回应吗? (PHP cron 作业问题)

java - Quartz 调度程序 Cron 触发器

java - jFileChooser 作为表格中的单元格编辑器

java - 刷新 View ?

Java GUI 弹出窗口 netbeans

mysql - 为什么我不能在存储过程中使用 mysqldump 命令?

linux - 使用 cron 执行期望脚本时 rsync 给出错误

java - 在 Scala 中实现具有原始类型的方法

java - JVM 中这些时序问题的原因是什么?

python - Crontab 使用错误版本的 Python 运行脚本