同时/并行地在3个服务器列表上运行相同的bash脚本

同时/并行地在3个服务器列表上运行相同的bash脚本,bash,multiprocessing,sametime,Bash,Multiprocessing,Sametime,我有一个bash脚本,可以在服务器列表上执行以下3个步骤,并且工作正常。 步骤1:获取每个服务器的文件(包括我正在查找的特定参数) 步骤2:解码文件(从十六进制到txt) 步骤3:从服务器的解码文件中筛选我要查找的特定参数,并显示输出 这里的问题是需要花费太多的时间才能获得所需的输出,我必须在大量的服务器上完成。是否有可能在后台执行此操作,并在3个服务器列表上并行运行此bash脚本?这是因为我想在不同的虚拟机上运行它,但每个虚拟机每次尝试时都要同时运行3个服务器列表,以更快地获得结果。我现在通过

我有一个bash脚本,可以在服务器列表上执行以下3个步骤,并且工作正常。 步骤1:获取每个服务器的文件(包括我正在查找的特定参数) 步骤2:解码文件(从十六进制到txt) 步骤3:从服务器的解码文件中筛选我要查找的特定参数,并显示输出

这里的问题是需要花费太多的时间才能获得所需的输出,我必须在大量的服务器上完成。是否有可能在后台执行此操作,并在3个服务器列表上并行运行此bash脚本?这是因为我想在不同的虚拟机上运行它,但每个虚拟机每次尝试时都要同时运行3个服务器列表,以更快地获得结果。我现在通过下面的while循环对它进行测试,我正在寻找它来扩展3个列表(list.txt//list2.txt&list3.txt):

读行时
;do./TA.sh$行;完成
其中TA.sh是我的主bash脚本,list.txt是服务器列表


希望它足够清楚。如果您能支持并留下您的评论,我将不胜感激。谢谢。

请看GNU并行应用程序,这正是您想要的。

非常感谢@Jiri B我在后台通过screen screen-S session的支持做到了这一点。screen,与
tmux
相同,它是终端多路复用器,也就是说,它允许在一个会话中使用更多的终端。如果您想解除进程与终端的关联,可以使用
nohup
while read line;do ./TA.sh $line; done  < list.txt