1

我正在尝试编写一行 shell 代码,它会告诉我队列中有多少作业。

该命令qstat将返回具有以下属性的作业列表 Job id, Name, User, Time Use Queue name

qstat(1B)该命令在手册页中标记。

我尝试计算我正在运行的作业数量grep

grep -c my_username | qstat

据我了解,这应该计算my_usernameqstat 输出中出现的次数。但它不起作用。有什么想法我哪里出错了吗?

4

2 回答 2

5

你正在做相反的事情。相反,说:

qstat | grep -c my_username

将通过管道输出qstatto grep。_

或者,您可以说(使用Process Substitution):

grep -c my_username <(qstat)
于 2013-08-29T13:52:06.130 回答
1

利用

qstat -u my_username

这将仅列出您的工作。确保您正在检查每个作业正在使用的插槽数 - 计算行数与确定资源使用情况不同!也许是这样的:

qstat -u $user | tail -n+3 | awk '{total = total+ $9}END{print total}'
于 2013-10-30T22:03:21.380 回答