Thursday, July 05, 2012

how to qdel a range of jobs


For example, I want to kill jobs with ids ranging from 7823111 to 7823118. One way to do it is of course to list all IDs after qdel, such as 


$ qdel 7823111 7823112 7823113 7823114 7823115 7823116 7823117 7823118


You can also do this in an elegant way, using seq command to generate the sequence number:


$ echo `seq -f "%.0f" 7823111 7823118`
7823111 7823112 7823113 7823114 7823115 7823116 7823117 7823118


Note that if you are using job array (-t) to control jobs, then it's easier to kill list of jobs in the array. Here is what "man qdel" says:

-t array_range
The array_range argument is an integer id or a range of integers. Multiple ids or id ranges can be combined in a comma delimted list. Examples: -t 1-100 or -t 1,10,50-100


9 comments:

  1. good one. there were no examples using range so it was not clear to me. I helped my case to delete some 100 jobs quickly.

    ReplyDelete
  2. qdel -u [user] can delete all queue tasks run by the same user. I find this helpful too.

    ReplyDelete
  3. Anonymous6:35 PM

    thanks for this short one :)

    ReplyDelete
  4. you can select jobs based on a variety of criteria using qselect and pipe them to qdel with xargs e.g.

    qselect -u | xargs qdel

    to delete all jobs of a given user, -s R selects jobs with the state running, see the qselect docs for more refined selections.

    ReplyDelete
  5. Really Good blog post.provided a helpful information.keep updating...
    Digital marketing company in Chennai

    ReplyDelete
  6. This type of job seeker is already directly known by the organisation, normally through being an existing employee. Free Job Alert

    ReplyDelete
  7. However, it is possible to become employed in far fewer job applications than 200 made over four months, the current statistics for the average job seeker.Schoolnews

    ReplyDelete