我得到了一个命令“ChanDataStream_Sim”(在Linux机器上),我需要同时运行40个通道。该命令一旦执行就会无限期地运行,直到有人手动杀死PID。此外,如果中断或会话结束,命令将停止。需要为我们要测试的每个通道启动一个新的专用PuTTy会话。
我想做的是示例化一个命令的示例与我的数组中的通道的每个迭代。本质上,如果我在数组中列出30个通道,我希望看到30个命令行示例(具有自己的PID)正在运行。我想避免让工程师打开40个PuTTy会话只是为了运行这个东西,或者如果可能的话,不得不制作40个小脚本。
预期结果:
PID User
1112 ChanDataStream_Sim+ <--- For Channel 3002
1113 ChanDataStream_Sim+ <--- For Channel 1001
1114 ChanDataStream_Sim+ <--- For Channel 4003
1115 ChanDataStream_Sim+ <--- For any additional channels in the array
这是我目前为止写的。
#bash
#!/bin/bash
# all the channels to simulate data flow against.
channels=(3002 1001 4003)
# how fast the simulated data should hit the channel
priority=(IDLE REALTIME HIGH)
# selecting one of the 225 daemons available for the process to run against
objserv=(83 82 81)
length=${#channels[@]}
for (( i=0; i<$length; i++ ))
do
# running the command with the requisite channel variables
ChanDataStream_Sim ${channels[$i]} -d -p ${priority[$i]} -s ${objserv[$i]}
done
任何线索将不胜感激。
1条答案
按热度按时间djmepvbi1#
解决方案:此代码段根据数组中的通道数创建嵌入命令的迭代