有没有办法让run命令在一个srun
下一个接一个地运行?另外,这可以在不运行一个包含所有命令的单独文件的情况下完成吗?
通常我们会这样做:
srun python ./python_code.py
但我想:
srun python ./python_code1.py & python ./python_code2.py
这可能吗?或者它最终会做srun python ./python_code1.py
,然后是python ./python_code2.py
?
或者,我可以有一个包含可执行文件列表的文件,如下所示:launch.sh:
python ./python_code_1.py
python ./python_code_2.py
我会用srun launch.sh
来命名它。
但如果可能的话,我想从一个文件中完成所有这些。
谢谢
利亚姆
1条答案
按热度按时间pbwdgjma1#
一行如
将启动
python ./python_code1.py
到srun
并将该进程发送到后台,然后立即启动python ./python_code2.py
。由于
srun
需要一个可执行文件,因此不能直接将多个命令作为参数列出。但是它会转发命令的参数,这样你就可以使用bash
的中间调用,就像@KamilKuk建议的那样:如果
launch.sh
是可执行的,那么你提到的launch.sh
的替代方案也可以工作,即。具有可执行权限并具有正确的Shebang。