我正在SGE群集上运行一些工作。有没有办法让qstat只显示我没有暂停的工作?
qstat -s p
显示待处理的作业,即状态为“qw”和“hqw”的作业。
qstat -s h
显示保留作业,即状态为“hqw”的所有作业。
我希望能够只查看状态为“qw”的所有作业,而不是“hqw”状态。手册页似乎暗示这是不可能的,但我想确定我没有错过任何东西。这将是非常有用的,我真的很沮丧,我无法使它工作。
其他群集用户暂停了几千个作业(“hqw”),并且只有少数人在队列中等待运行(“qw”)。我希望能够快速轻松地查看未暂停的内容,以便查看我的作业在队列中的位置。必须展示所有内容然后向上滚动以查找输出的相关部分是一件痛苦的事。
答案 0 :(得分:1)
所以我想出了一种的方式,通过将qstat的输出传递给grep来显示我想要的东西:
qstat -u "*" | grep " qw"
(请注意,我需要搜索“qw”而不仅仅是“qw”,否则它也将返回“hqw”状态。)
但我仍然想知道是否可以使用qstat选项。
答案 1 :(得分:0)
我认为这种方法更好,更有用,我在主目录中定义了code_script
并创建了alias
alias jobstat 'source <code_script>
echo "user\n------------------------" ;
echo "Running " ` qstat -u user | awk ' { if ($5 == "r") print $0 }' | wc -l` ;
echo "Pending " ` qstat -u user | awk ' { if ($5 == "qw" || $5 == "hqw") print $0 }' | wc -l ` ;
echo "------------------------" ;
echo "Total " `qstat -u user | awk ' { if ($4 =="user") print $0}' | wc -l `
这对我有很大的帮助!