【问题标题】:Bash script for calling Java programs用于调用 Java 程序的 Bash 脚本
【发布时间】:2014-12-09 18:17:57
【问题描述】:

我有一个 jar 文件,我可以通过以下方式调用它:java -jar myjar.jar param1 param2 param3

现在我需要一个 bash 脚本,它一直等到到达某个时钟时间(例如下午 5 点),然后多次调用这个 jar 文件,比如说 5 次(这样我就有 5 个 JVM 正在运行)。此外,传递给 bash 脚本的参数应该传递给 jar。然后,经过一段时间(例如 10 分钟),所有启动的 java 程序都应该被杀死。

我该怎么做?

非常感谢。

【问题讨论】:

  • 是否可以将 bash 脚本注册为 Windows 中的服务,每天 17:00 开始?或者这不是您想要的那种行为?
  • 您需要它每天下午 5 点运行吗? (使用cron)还是就在今天? (使用at

标签: java bash automation


【解决方案1】:

创建一个 bash 脚本来调用该方法。并添加一个 cron 条目以在特定时间执行。

【讨论】:

  • 我认为关于10分钟后停止程序应该通过java实现。
【解决方案2】:

一个 bash 脚本,它一直等到某个时钟时间(例如下午 5 点),然后多次调用这个 jar 文件,比如说 5 次

更新:非常感谢格伦杰克曼,我采纳了他的回答

#!/bin/bash

cat<<EndBlock | at 5pm
for i in {1..5}; do
    java -jar myjar.jar "$@" &
    pid=$!
    { sleep 600 && kill $pid; } &
done
EndBlock

【讨论】:

    【解决方案3】:

    @thom 答案的变体,其中传递了任意数量的参数,并且生成的 jvm 在 10 分钟后被杀死。

    for i in {1..5}; do
        java -jar myjar.jar "$@" &
        pid=$!
        { sleep 600 && kill $pid; } &
    done
    

    【讨论】:

      猜你喜欢
      • 2017-10-21
      • 2019-07-24
      • 1970-01-01
      • 2011-05-12
      • 2016-02-16
      • 1970-01-01
      • 2012-05-15
      • 2013-11-05
      • 2011-05-19
      相关资源
      最近更新 更多