用于调用Java程序的Bash脚本

时间:2014-10-14 20:17:30

标签: java bash automation

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

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

我该怎么做?

非常感谢。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

  

一个bash脚本,等待到达某个时钟时间(例如下午5点),然后多次调用此jar文件,让我们说5次

更新: 非常感谢 Glenn Jackman ,我收录了他的回答

#!/bin/bash

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

答案 2 :(得分:2)

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

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