5

I know commands, like qsub, qstat -a, qstat -an, etc.

But how can I find how many jobs a single user has in the queue (not all necessarily running) at any given time?

3 Answers 3

12

I think you're looking for the 'user' option of qstat. qstat -u username lists all jobs belonging to the given user. Wildcards can be included with a backslash: qstat -u \\* lists all jobs.

To answer your specific question (total jobs), you can use wc to count the lines that qstat outputs:

qstat -u username | wc -l

But that will give two more than the actual jobs because qstat has two header lines. So the full command you may want is:

expr $(qstat -u username | wc -l) - 2

Which asks for the jobs by user username, counts the numbers of lines, and subtracts 2.

0
3

Number of header lines may be different from 2 (e.g., on our Cray it is 5). Another solution is:

qselect -u username | wc -l

qselect does not produce header lines.

1

An actual solution is qstat -u username |grep username |wc -l this way the number of header lines does not matter.

1
  • Since the answer is already accepted. you may take this solution and put it as a comment inside the accepted answer port to compliment it.
    – p._phidot_
    Jun 15, 2021 at 10:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .