如何在终端中查看通过qsub提交的作业的输出?

时间:2016-03-23 15:21:53

标签: bash terminal qsub

我通过qsub向SGE提交这个简单的工作。如何查看作业的输出,这是我终端中的简单回显。我的意思是我想直接在屏幕上将其输出到日志文件或其他东西。

所以这是存储在Dummyjob中的作业:

#!/bin/sh
#$ -j y
#$ -S /bin/sh
#$ -q long.q

sleep 30
echo "I'm done!"

这是qsub命令:

qsub -N job_1 -cwd./Dummyjob

谢谢!

2 个答案:

答案 0 :(得分:0)

它没有那样做。您指的是批量工具,例如 How to submit a job using qsub

查看命令行选项,这些是可能的:

-o <output_logfile> name of the output log file
-e <error_logfile> name of the error log file
-m ea Will send email when job ends or aborts

您可以要求它在作业完成后发送邮件(成功与否)。或者你可能能够写入 fifo ,例如,在一个终端中你会做

mkfifo myFakeFile
tail -f myFakeFile

然后使用

-o myFakeFile

提交时(按此顺序,等待某事等待)。但是如果程序进行任何检查,它将不会写入fifo(因为它不是常规文件)。

进一步阅读:

答案 1 :(得分:0)

之前的回答提到您正在提交“批处理作业脚本”,这是正确的,因此您不会在终端上看到输出(tty),但stdout / stderr将被发送到输出文件。但是,这并不意味着您无法通过Grid Engine运行交互式作业。你可以,只使用'qrsh'而不是'qsub',脚本将在Grid Engine选择的远程机器上运行 - 结果将显示在你的屏幕上。

注意:您可能必须在Grid Engine群集中配置qrsh才能使其正常工作。