6

我正在使用 Sun Grid Engine 运行很多工作。由于这些是作业(〜100000),我想使用数组作业,这在队列中似乎更容易。

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

有没有办法让每个作业将输出文件写入一个目录(例如,一个由作业 ID 的前 2 个字符组成的目录,它是随机的十六进制字母;或作业编号模 1000,或类似的东西)。

谢谢

4

1 回答 1

2

我想不出使用 qsub 的好方法,因为 -o 和 -e 选项没有编程接口。但是,有一种方法可以实现您想要的。

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

于 2012-07-07T05:28:35.953 回答