为什么无法在 slurm 脚本中使用后台选项运行 wget?

为什么无法在 slurm 脚本中使用后台选项运行 wget?

我使用这个脚本来下载文件。没有-bwget则逐个下载文件。有了-b,我可以在后台同时下载文件。不幸的是,该脚本在 SLURM 中不起作用。它只-b在 Slurm 中没有工作。

下载文件的脚本

#!/bin/bash

mkdir data
cd data
for i in 11 08 15 26 ;
do
  wget -c -b -q ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR116/0${i}/SRR116802${i}/SRR116802${i}_1.fastq.gz 
  wget -c -b -q ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR116/0${i}/SRR116802${i}/SRR116802${i}_2.fastq.gz
done

cd ..

泥浆脚本

#!/bin/bash

#SBATCH --job-name=mytestjob     # create a short name for your job
#SBATCH --nodes=2                # node count
#SBATCH --ntasks=2               # total number of tasks across all nodes
#SBATCH --cpus-per-task=2        # cpu-cores per task (>1 if multi-threaded tasks)
#SBATCH --mem-per-cpu=4G         # memory per cpu-core (4G is default
#SBATCH --time=10:01:00          # total run time limit (HH:MM:SS)
#SBATCH --array=1-2              # job array with index values 1, 2

#Execution

bash download.sh

在终端上:(sbatch slurmsript.sh没用)no jobid

答案1

使用作业数组,您可以同时下载文件(每个数组任务都下载)。无需将 wget 置于后台。根据我的经验,实际上,如果您尝试通过在后台启动进程来“释放”slurm 脚本命令行,则 slurm 会在 slurm 提交脚本完成执行时终止作业(但您的任务可能仍在后台运行) 。所以这是你想要的前景和泥浆!

相关内容