我在Sun Grid Engine上运行了很多工作。由于这些是一个作业(~100000),我想使用数组作业,这在队列中似乎更容易。
另一个问题是每个作业都会产生一个stdout和stderr文件,我需要跟踪错误。如果我在qsub -t 1-100000 -o outputdir -e errordir
中定义它们,我最终会得到包含100000个文件的目录,这太多了。
是否有办法让每个作业将输出文件写入目录(例如,由作业ID的前2个字符组成的目录,即随机十六进制字母;或作业编号modulu 1000,或某物那种)。
由于
答案 0 :(得分:2)
我无法想到使用qsub执行此操作的好方法,因为-o和-e选项中没有编程接口。然而,有一种方法可以实现你想要的。
使用指向/ dev / null的-o和-e运行qsub。让你运行的命令成为某种类型的包装器,它在执行实际工作之前,以任何你想要的方式(即,你的故障目录结构)将它自己的stdout和stderr重定向到文件。