在 for 循环中创建多个屏幕以运行并行程序并向每个程序发送命令

在 for 循环中创建多个屏幕以运行并行程序并向每个程序发送命令

在将此问题标记为多余之前,我已经阅读并尝试了所有类似问题的答案,但均未成功

我有这样一个循环,它遍历目录结构,并在单独的屏幕中的每个子目录中运行一个程序(需要几分钟才能完成)。我不想看到屏幕的输出,而是希望它们都在后台并行执行程序。到目前为止,我已经

for ((i = 1; i <= noLines; i++))
do
# code to change path to point to next executable goes here

screen -d -m -S results_$i -X stuff $(./runSimulator.sh 1 5 results) $'\012'    

done

发生的情况是,代码在当前活动屏幕中执行,并且代码在同一屏幕上序列化。我需要在不同的屏幕上同时运行多个版本。你能帮忙吗?

我尝试了所有这些,但没有用(错误(未找到套接字)/什么也没发生或与上面相同)

  1. 屏幕-d-m./runSimulator.sh 1 5 结果$'\012'
  2. 屏幕-d-m-S 结果_$i-X 屏幕$(./runSimulator.sh 1 5 结果)$'\012'
  3. 屏幕-d-m-S 结果_$i 屏幕-S 结果_$i-X 内容$(./runSimulator.sh 1 5 结果)$'\012'

请帮忙

相关内容