2017-04-13 281 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有直接在終端上重定向輸出,但隨後它不是在批量運行了而你的工作會被殺死,如果你失去了你的連接,或者如果你關閉你的筆記本電腦或關閉終端窗口。