首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何顺序运行多个.sbatch脚本

如何顺序运行多个.sbatch脚本
EN

Stack Overflow用户
提问于 2019-07-13 23:14:35
回答 1查看 1.5K关注 0票数 1

我必须为集群运行多个sbatch slurm脚本。假设我有50个sbatch文件,我在终端中按顺序运行它们(我使用Ubundu),如下所示:

代码语言:javascript
复制
sbatch file1.sbatch  
sbatch file2.sbatch
.  
.  
.  
sbatch file50.sbatch

我想简化这50个不同的命令,使其在单个命令中运行。由于我是新接触终端和集群的人,我真的不知道如何处理这个问题。请给我一些执行此操作的解决方案(我猜我需要使用一些for loop语句,但我对哪种语法有疑问)。我完全迷惑了,一些相关的文档可能也会有所帮助。

谢谢。

更新:我尝试了以下脚本:

代码语言:javascript
复制
#!/bin/bash  
for i in {1..3}  
do   
    sbatch layer$i.sbatch  
done  

但是,它并没有创造出单独的就业机会。仅将单个作业作为整体提交。所以,这对我不起作用。

代码语言:javascript
复制
$ ~/Marabou% sbatch call_sbatch.sbatch  
Submitted batch job 4576049  

谢谢。

更新:

下面的脚本可以工作:

import os

os.system ("sbatch filename1.sbatch")

os.system ("sbatch filename2.sbatch")

EN

回答 1

Stack Overflow用户

发布于 2019-08-19 21:05:23

您准备的代码应该在交互式shell中运行,而不是启动到队列中。

直接运行你的代码:

代码语言:javascript
复制
$ sh call_sbatch.sbatch

或者,如果你的文件是可执行的,

代码语言:javascript
复制
$ ./call_sbatch.sbatch

它应该使用您创建的循环运行内部行,该循环将向队列发送您感兴趣的作业(在您的示例代码中,有三个作业: layer1.sbatch、layer2.sbatch和layer3.sbatch)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57020382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档