如何使用qdel all仅删除空闲作业

use*_*361 5 ubuntu cluster-computing qsub torque

我有一个问题,如果我有2000个工作排队并尝试删除它们qdel all,它将继续尝试删除正在运行的作业.这意味着我必须等待很长时间才能删除作业,因为从Running列表中删除比Idle列表慢.

因此,如何在Idle不触及作业的情况下删除所有Running作业?

use*_*361 0

Python:

    import os
    import subprocess
    cmd = [ 'showq' ]
    output = subprocess.Popen( cmd, stdout=subprocess.PIPE ).communicate()[0]
    jobid = [int(s) for s in output.split() if s.isdigit()]
    jobid2 = []
    for i in jobid:
        if i > 100000:
            jobid2 += [i]


    jobid2.sort()
    jobid2.reverse()
    #jobid2 = jobid2[2000:3000]



    for i in jobid2:
        print len(jobid2)
        os.system('qdel ' + str(i))
Run Code Online (Sandbox Code Playgroud)