+-
SLURM - 回显输出文件,以便在屏幕上打印?

我们公司的服务器使用SLURM工作负载管理器。我正在使用sbatch提交脚本。目前,我使用#SBATCH -o /job_%j.out#SBATCH -e /job_%j.err将输出打印到文件中。除了打印到文件之外,我还希望在屏幕上打印-e文件。我希望能够实时跟踪进度,而无需经常打开和刷新.out.errfiles。

我尝试过echo,但这只会导致信息被打印到-o文件中。我还尝试不指定要输出的输出位置(即:没有#SBATCH -o命令),希望它默认打印到屏幕上。那也行不通。

我觉得有一个简单的解决方法,但我显然没有使用正确的术语。谢谢您的帮助!

2
投票

sbatch将提交一个批处理作业,在另一台计算机上运行,​​而不是打开终端的计算机。因此sbatch将stdout和stderr重定向到一个文件。最简单的选择是使用tail -f动态查看文件的内容。

否则,使用srun而不是sbatch直接在终端上重定向输出,但是它不再批量运行,如果您断开连接或关闭笔记本电脑或关闭终端窗口,您的工作将被终止。

0
投票

如果您的sbatch文件包含srun命令,则可以使用sattach jobid.stepid查看输出 - 您可以指定一个选项来查看错误而不是输出。