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

问题描述 投票:0回答:1

考虑使用以下代码的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&c)做同样的事情。
  2. 我希望这三个人并行运行。

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

shell parallel-processing scripting tcsh
1个回答
0
投票

在这里添加“&”

job << END

job << END &
# some tool specific settings
END

但请注意,来自所有多个作业的“#some tool specific settings”的输出将全部打印在一起并且会很混乱。聪明的是将每个作业的输出重定向到自己的文件

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

上面的硬编码文件名“job_output.out”是可以的,因为你每次都会在不同的目录中执行cd,因此job_output.out将是每个作业的不同文件。

© www.soinside.com 2019 - 2024. All rights reserved.