我正在AWS集群上使用Slurm,并编写了似乎无法执行的执行脚本。如果我自己运行脚本,则可以正常运行。但是,当与sbatch
一起运行时,它将不起作用。
我使用以下代码致电sbatch
:
for sample in `cat url.txt`;
do sudo /opt/slurm/bin/sbatch ./slurm_script.sh $sample;
sleep 1;
done
脚本slurm_script.sh
包含很长的生物信息学管道。单独调用[bash slurm_script.sh someString
]
它输出到主节点上:
Submitted batch job 2
Submitted batch job 3
Submitted batch job 4
Submitted batch job 5
...
但是当我ssh进入任何计算节点时,没有任何进程在运行。也没有创建文件。有什么想法吗?
答案 0 :(得分:0)
我花了一些时间弄清楚这一点,但是在运行脚本之前,没有在适当的文件夹中创建slurm的错误和out目录。我在〜/ slurm_out和〜/ slurm_error中创建了这些目录。但是,在建议@Poshi
下运行以下命令之后scontrol show job
我看到slurm在以下目录中寻找这些东西:
...
WorkDir=/scratch/missing
StdErr=/scratch/missing/slurm_error/error_85.txt
StdIn=/dev/null
StdOut=/scratch/missing/slurm_out/output_85.txt
Power=
...
在slurm所在的目录中创建slurm_error
和slurm_out
之后,脚本开始运行!