我正在尝试编写一个作业数组,以便各个工作在稍微不同的时间点开始。 (因为我唤起的程序使用一天中的时间到最近的秒作为随机种子,如果所有作业同时提交,它将产生相同的结果。)
以下是我使用的指令:
#!/bin/bash
#PBS -N test
#PBS -t 1-10 # Job array
#PBS -a hhmm.ss # Deferred execution
echo Time is `date` >> test.out
但我希望-a可以间隔开来。我正在考虑编写一个小子程序,打印出该格式的随机数并将其输入-a,但我不知道如何选择-a采用变量。
欢迎使用任何其他行的解决方案,唯一的要求是作业数组中的作业以随机时间间隔开始间隔开。
希望这是有道理的,如果不是,我会很乐意澄清。
答案 0 :(得分:0)
#!/bin/bash
#PBS -N test
#PBS -t 1-10 # Job array
sleep `expr $RANDOM % 60`
echo Time is `date` >> test.out
一位朋友建议在脚本开头使用等待或睡眠,以便在重新开始之前等待作业。这个expr $ RANDOM%60将它们隔开几秒钟(小于60)。请注意,您不再需要延迟执行(没有-a指令)。