将输出重定向到Sun Grid Engine阵列作业的不同目录

R S*_*R S 6 sungridengine

我在Sun Grid Engine上运行了很多工作.由于这些是一个作业(~100000),我想使用数组作业,这在队列中似乎更容易.

另一个问题是每个作业产生一个stdout和stderr文件,我需要跟踪错误.如果我在其中定义它们,qsub -t 1-100000 -o outputdir -e errordir我将最终拥有包含100000个文件的目录,这太多了.

有没有办法让每个作业将输出文件写入目录(例如,一个目录,其中包含作业ID的前2个字符,即随机十六进制字母;或作业编号modulu 1000,或某种类似的东西).

谢谢

jlp*_*jlp 2

我想不出使用 qsub 执行此操作的好方法,因为 -o 和 -e 选项没有编程接口。然而,有一种方法可以实现你想要的。

使用指向 /dev/null 的 -o 和 -e 运行 qsub。使您运行的命令成为某种类型的包装器,在执行实际作业之前,以您想要的任何方式(即,分解的目录结构)将其自己的 stdout 和 stderr 重定向到文件。