code: def cj(job_ids):
          '''Simple implementation where joblist is expected to be a list of integers (job ids). The full grammar for this command allows more granular control.''' 
          for job_id in job_ids:
              job_id_types = set(map(type, job_ids))
              assert(len(job_id_types) == 1 and type(1) == job_id_types.pop())
              args = shlex.split('qmod -cj {0}'.format(job_id))
              subprocess.call(args, shell=Falsef cj(job_ids):
          '''Simple implementation where joblist is expected to be a list of integers (job ids). The full grammar for this command allows more granular control.''' 
          for job_id in job_ids:
              job_id_types = set(map(type, job_ids))
              assert(len(job_id_types) == 1 and type(1) == job_id_types.pop())
              args = shlex.split('qmod -cj {0}'.format(job_id))
              subprocess.call(args, shell=False)
docs: Simple implementation where joblist is expected to be a list of integers (job ids). The full grammar for this command allows more granular control.