有没有办法检查用户在队列中有多少作业?

Jac*_*art 3 linux queue portable-batch-system

我知道命令,例如 qsub、qstat -a、qstat -an 等。

但是,我如何才能在任何给定时间找到单个用户在队列中(不一定都在运行)中有多少作业?

小智 10

我认为您正在寻找qstat. qstat -u username列出属于给定用户的所有作业。通配符可以包含在反斜杠中:qstat -u \\*列出所有作业。

要回答您的特定问题(总作业数),您可以使用wc来计算qstat输出的行数:

qstat -u username | wc -l
Run Code Online (Sandbox Code Playgroud)

但这将比实际作业多qstat两个,因为有两个标题行。所以你可能想要的完整命令是:

expr $(qstat -u username | wc -l) - 2
Run Code Online (Sandbox Code Playgroud)

它通过用户名请求作业,计算行数,然后减去 2。