2017-04-13 294 views
-1

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

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

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

回答

0

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

否则,使用srunsbatch有直接在终端上重定向输出,但随后它不是在批量运行了而你的工作会被杀死,如果你失去了你的连接,或者如果你关闭你的笔记本电脑或关闭终端窗口。