我正在尝试编写一行 shell 代码,它会告诉我队列中有多少作业。
该命令qstat
将返回具有以下属性的作业列表 Job id, Name, User, Time Use Queue name
qstat(1B)
该命令在手册页中标记。
我尝试计算我正在运行的作业数量grep
:
grep -c my_username | qstat
据我了解,这应该计算my_username
qstat 输出中出现的次数。但它不起作用。有什么想法我哪里出错了吗?
我正在尝试编写一行 shell 代码,它会告诉我队列中有多少作业。
该命令qstat
将返回具有以下属性的作业列表 Job id, Name, User, Time Use Queue name
qstat(1B)
该命令在手册页中标记。
我尝试计算我正在运行的作业数量grep
:
grep -c my_username | qstat
据我了解,这应该计算my_username
qstat 输出中出现的次数。但它不起作用。有什么想法我哪里出错了吗?
你正在做相反的事情。相反,说:
qstat | grep -c my_username
将通过管道输出qstat
to grep
。_
或者,您可以说(使用Process Substitution):
grep -c my_username <(qstat)
利用
qstat -u my_username
这将仅列出您的工作。确保您正在检查每个作业正在使用的插槽数 - 计算行数与确定资源使用情况不同!也许是这样的:
qstat -u $user | tail -n+3 | awk '{total = total+ $9}END{print total}'