Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过bash运行多个Java应用实例,如何访问它们的shell菜单?_Java_Linux_Bash_Command Line_Jar - Fatal编程技术网

通过bash运行多个Java应用实例,如何访问它们的shell菜单?

通过bash运行多个Java应用实例,如何访问它们的shell菜单?,java,linux,bash,command-line,jar,Java,Linux,Bash,Command Line,Jar,所以我得到了测试新java引擎的工作。 创建它的程序员为我创建了一个测试jar文件,这样我就可以测试一些崩溃事件和负载平衡 我知道这是一堆文字,但我希望有人能给我一个很好的答案!提前感谢您的阅读 我想自动化测试过程,所以我创建了一个bash文件 到目前为止,它做了几次循环,在循环中启动jar文件: java -jar /mnt/nas/i/testsail/clusteng.jar 2>> /dev/null & 之后,它将获取刚刚启动的java应用程序的processId

所以我得到了测试新java引擎的工作。 创建它的程序员为我创建了一个测试jar文件,这样我就可以测试一些崩溃事件和负载平衡

我知道这是一堆文字,但我希望有人能给我一个很好的答案!提前感谢您的阅读

我想自动化测试过程,所以我创建了一个bash文件

到目前为止,它做了几次循环,在循环中启动jar文件:

java -jar /mnt/nas/i/testsail/clusteng.jar 2>> /dev/null &
之后,它将获取刚刚启动的java应用程序的processId:

process_ids[$i]=$!
所以最终我有了5个jar实例,都有它们相关的processId

现在我的问题是,程序员在应用程序周围添加了一个小外壳,我可以告诉它在什么时候崩溃。如果我只是从命令行启动引擎,它会告诉我shell和我可以直接输入'fail moment\u Of_Faillure',它会在那里意外地失败

当然,现在我想给每个实例一个失败时刻,我想从bash脚本中随机分配它

我的问题是,如何从bash脚本中向每个实例发出命令?

我将在此处发布完整的bash脚本:

#!/bin/bash
# Engine testing script; Starts multiple engine instances and shoots one every 20 seconds
clear
echo "#####################"
echo "# Start $1 processes #"
echo "#####################"
echo ""

# create number of processes
for ((  i = 1 ;  i <= $1;  i++  ))
do
    if test $i == 1
    then
        echo "Starting process: $i -> Master Process"
    else
        echo "Starting process: $i"
    fi

    #$! = last started process
    java -jar /mnt/nas/i/testsail/clusteng.jar 2>> /dev/null &
    process_ids[$i]=$!
    echo "PID $!"
    echo ""

    sleep 20
done

sleep 20

for ((  i = 1 ;  i <= $1;  i++  ))
do
    echo "Kill PID:${process_ids[$i]}"
    #ech `FAIL BEFORE_RANK_DISTRIBUTION` > fifo$i
    kill -9 ${process_ids[$i]}
    echo ""
    if test $i != $1
    then
       sleep 20
    fi
done

# run errorcheck
. `./checklogs`
#/bin/bash
#发动机测试脚本;启动多个引擎实例,并每20秒触发一个
清楚的
回声
echo“#启动$1进程#”
回声
回声“”
#创建进程数
对于((i=1;i>/dev/null)&
进程标识[$i]=$!
echo“PID$!”
回声“”
睡20
完成
睡20
对于((i=1;i fifo$i)
kill-9${process_id[$i]}
回声“”
如果测试$i!=$1
然后
睡20
fi
完成
#运行错误检查
.`./检查日志`

您对shell脚本和实际shell脚本的描述似乎有点不同。您谈到影响实例的命令,但您发布的脚本每20秒就杀死一个实例。听起来您对shell脚本和实际shell脚本的描述似乎有点不同。您谈到ut命令会影响实例,但您发布的脚本每20秒就会杀死一个实例