我正在尝试写一行shell代码,它会告诉我队列中有多少个工作。
命令qstat
将返回具有以下属性的作业列表:作业ID,名称,用户,时间使用队列名称
该命令在手册页中标记为qstat(1B)
。
我尝试计算我运行的作业数量grep
:
grep -c my_username | qstat
据我了解,这应该计算qstat输出中my_username
的出现次数。它不起作用。我出错的任何想法?
答案 0 :(得分:4)
你正在反过来这样做。相反,请说:
qstat | grep -c my_username
将qstat
grep
的输出 pipe。{/ p>
或者,您可以说(使用Process Substitution):
grep -c my_username <(qstat)
答案 1 :(得分:1)
使用
qstat -u my_username
这将仅列出您的工作。确保您正在检查每个作业正在使用的插槽数 - 计算行数与确定资源使用情况不同!也许是这样的:
qstat -u $user | tail -n+3 | awk '{total = total+ $9}END{print total}'