bounty将在6天后过期。回答此问题可获得+50的声望奖励。phdstudent正在寻找标准答案。
我曾经可以访问slurm服务器,并在其中提交以下批处理作业:
#!/bin/bash
#SBATCH --job-name=sdmodel
#SBATCH --output=logs/out/%a
#SBATCH --error=logs/err/%a
#SBATCH --nodes=1
#SBATCH --partition=common,scavenger
#SBATCH -c 10
#SBATCH --mem-per-cpu=12GB
#SBATCH --array=1-236
module load Matlab/R2021a
matlab -nodisplay -r "run('main.m'); exit"
现在新的服务器,是简单的linux(没有slurm)。所以sbatch命令不起作用。有什么办法做类似的事情吗?
1条答案
按热度按时间b4qexyjb1#
如果“新服务器”是您要使用的集群的前端,该集群运行不同的批处理调度系统(SLURM有几种替代方案),那么您需要参考文档或sysadmin来确定新的批处理调度系统,然后阅读其文档。
如果新服务器只是一个交互式的分时Linux服务器(与批调度集群相反),那么您可以直接从命令行执行相同的脚本,而无需修改。
#SBATCH
指令格式的好处之一是它们只是bash
的注解,当脚本由shell交互执行时将被忽略。如果您的问题 * 实际上 * 是询问如何在后台运行脚本并将输出捕获到文件中(以类似于在SLURM下执行脚本的方式),您可以尝试使用如下命令(假设上面的脚本名为
myscript.sh
):