如何通过tcsh脚本并行运行作业?

时间:2018-06-01 11:52:15

标签: shell parallel-processing scripting tcsh

考虑使用以下代码的tcsh脚本

#!/bin/tcsh -f

set PWD = $PWD

if (!a) then
  mkdir a
  cd a
  ln -sfn temp.txt
endif 
cd $PWD/a
job << END
# some tool specific settings
END

现在,

  1. 我需要对另外两个目录做同样的事情,比如b&amp; c,通过相同的脚本。

  2. 我希望这三个人并行运行。

  3. 请让我知道如何做到这一点。

1 个答案:

答案 0 :(得分:0)

只需在此处添加“&”

job << END

job << END &
# some tool specific settings
END

但是请注意,来自所有多个作业的“#一些工具特定的设置”的输出将全部一起打印,并且会混乱。明智的做法是将每个作业的输出重定向到其自己的文件

job >> job_output.out << END &
# some tool specific settings
END

上面的硬编码文件名“ job_output.out”是可以的,因为您每次都将CD放入不同的目录,因此job_output.out对于每个作业都是不同的文件。