我正在尝试多次运行一个jar文件(在循环中)并将其输出重定向到一个文件(使用append>>运算符)。我正在运行,并且必须继续使用Windows 7.我尝试在Windows批处理文件中执行此操作并遇到下面的问题,因此我安装了Cygwin以使用bash脚本。我的脚本如下:
for i in {1..10..1}
do
echo "Run $i"
java -jar myjar.jar -cl >> runresults.txt
echo "Sleeping..."
sleep 60
echo "Awake!"
done
问题:脚本(Windows批处理或Cygwin bash)在挂起之前只运行一些迭代(通常不超过3次)。没有给出错误。我添加了sleep命令以确保先前的迭代有时间在任何尝试进行下一次运行之前释放任何锁。我把睡眠时间增加到200多秒,行为仍然是一样的。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
if [ ! -f runresults.txt ]; then
touch runresults.txt
fi
for i in {1..10}
do
echo "Running... $i"
java -jar myjar.jar >> runresults.txt &
echo "Sleeping 2 seconds..."
sleep 2
done