qbpreempt requests the Supervisor to tell a job to release its host if and when it can do so without wasting CPU time. The job will be removed from the host when it finishes the frame or agenda item it's working on, and asks the Supervisor for another agenda item. Instead, the Supervisor will instruct the job to "get off" the worker.
The job instance that was removed from the worker will then go back into a pending state, and await re-dispatch as workers again become available.
This command depends upon the job type and will only work if the job that is running supports a qube agenda-based system.
qbpreempt [options] jobID… | 0
where JobID is one or more job IDs, and 0 is a wild card token representing all the user's jobs.
Preempt work (default: on)
Preempt subjobs (default: on)
Preempt running jobs
Preempt running work
Preempt running subjobs
Preempt jobs for user string
--type string --prototype string
Preempt jobs with string type
Preempt jobs with string status (ex. pending)
Preempt jobs with string name
Preempt jobs of string kind
Preempt jobs with process ID int
Preempt jobs in int process group
Preempt jobs with int priority
Preempt jobs in string cluster
Preempt jobs with a total of int subjobs
Output in XML format
This command only works on jobs which are in the running state.
Preempt only subjob 12354.0:
% qbpreempt 12354.0
Preempt all subjobs in 12345:
% qbpreempt 12345
Preempt all of user anthony's jobs:
% qbpreempt --user anthony 0
Preempt all of user anthony's running jobs:
% qbpreempt --running --user anthony 0