+-
我们公司的服务器使用SLURM工作负载管理器。我正在使用sbatch
提交脚本。目前,我使用#SBATCH -o /job_%j.out
和#SBATCH -e /job_%j.err
将输出打印到文件中。除了打印到文件之外,我还希望在屏幕上打印-e
文件。我希望能够实时跟踪进度,而无需经常打开和刷新.out
和.err
files。
我尝试过echo
,但这只会导致信息被打印到-o
文件中。我还尝试不指定要输出的输出位置(即:没有#SBATCH -o
命令),希望它默认打印到屏幕上。那也行不通。
我觉得有一个简单的解决方法,但我显然没有使用正确的术语。谢谢您的帮助!
2
投票
投票
sbatch
将提交一个批处理作业,在另一台计算机上运行,而不是打开终端的计算机。因此sbatch
将stdout和stderr重定向到一个文件。最简单的选择是使用tail -f
动态查看文件的内容。
否则,使用srun
而不是sbatch
直接在终端上重定向输出,但是它不再批量运行,如果您断开连接或关闭笔记本电脑或关闭终端窗口,您的工作将被终止。
0
投票
投票
如果您的sbatch文件包含srun命令,则可以使用sattach jobid.stepid
查看输出 - 您可以指定一个选项来查看错误而不是输出。