qrun(8B)
π qrun β run a PBS batch job now β¨
okay bestie, this is the qrun(8B) page from PBS Professional, and it's literally the βrun my PBS batch job right nowβ button. Let's get into it π«Ά
πΈ NAME πΈ
qrun β run a PBS batch job now.
β¨ SYNOPSIS β¨
bestie, the whole mood is:
qrun [-a] [-H <vnode specification>] <job ID> [<job ID> ...]
qrun [-a] [-H - ] <job ID> [<job ID> ...]
qrun --version
π¦ DESCRIPTION π¦
qrun forces a job to run, regardless of scheduling position or resource requirements. no cap, it does not care about the queue's vibe check π€
The qrun command can be used on jobs, subjobs, or ranges of subjobs, but not on job arrays. When it is used on a range of subjobs, the non-running subjobs in that range are run.
When preemption is enabled, the scheduler preempts other jobs in order to run this job. Running a job via qrun gives the job higher preemption priority than any of the priorities defined in the preempt_prio scheduler parameter. highkey main character energy π
π Required Privilege π
In order to execute qrun, you must have PBS Operator or Manager privilege.
π¬ Caveats for qrun π¬
- The job is run without respect for limits, primetime, or dedicated time.
- If you use a
-H vnode_specificationoption to run a job, but specify insufficient vnodes or resources, the job may not run correctly. Avoid using this option unless you are sure. - If you don't use the
-Hoption, the job must be in the Queued state and reside in an execution queue. - If you do use the
-Hoption, the job must be in the Queued or Suspended state and reside in an execution queue. - If you use the
-Hoption, all schedulers are bypassed, and partition boundaries are ignored. - The
qruncommand cannot be used on a job that is in the process of provisioning. - If you use
qrunon a subjob, PBS will try to run the subjob regardless of whether the job has hit the limit specified inmax_run_subjobs.
π OPTIONS π
-aβ theqruncommand exits before the job actually starts execution. it dips early, basically π«‘
π« (no -H option) π«
The job is run immediately regardless of scheduling policy as long as the following are true:
- The queue in which the job resides is an execution queue.
- Either the resources required by the job are available, or preemption is enabled and the required resources can be made available by preempting jobs that are running.
β οΈ (with -H option) β οΈ
Do NOT use this option unless you know exactly what you are doing. bestie I am begging you to read the whole thing first π
With the -H option, all scheduling policies are bypassed and the job is run directly. The job is run immediately on the named or previously assigned vnodes, regardless of current usage on those vnodes or which scheduler manages the vnodes, with the exception of vnode state. The job is not run and the qrun request is rejected if any named vnode is down, already allocated exclusively, or would need to be allocated exclusively and another job is already running on the vnode. The job is run if the vnode is offline.
The -H option runs jobs that are queued or suspended.
If the qrun -H command is used on a job that requests an AOE, and that AOE is not instantiated on those vnodes, the vnodes are provisioned with the AOE.
If the job requests an AOE, and that AOE is not available on the specified vnodes, the job is held.
-H <vnode specification without resources>
The vnode specification without resources has this format:
(<vchunk>)[+(<vchunk>) ...]
where vchunk has the format
<vnode name>[+<vnode name> ...]
Example: -H (VnodeA+VnodeB)+(VnodeC)
PBS applies one requested chunk from the job's selection directive in round-robin fashion to each vchunk in the list. Each vchunk must be sufficient to run the job's corresponding chunk, otherwise the job may not execute correctly. π
-H <vnode specification with resources>
The vnode specification with resources has this format:
(<vchunk>)[+(<vchunk>) ...]
where vchunk has the format
<vnode name>:<vnode resources>[+<vnode name>:<vnode
resources> ...]
and where vnode resources has the format
<resource name>=<value>[:<resource name>=<value> ...]
Example:
-H (VnodeA:mem=100kb:ncpus=1)+ (VnodeB:mem=100kb:ncpus=2+
VnodeC:mem=100kb)
PBS creates a new selection directive from the vnode specification with resources, using it instead of the original specification from the user. Any single resource specification results in the job's original selection directive being ignored. Each vchunk must be sufficient to run the job's corresponding chunk, otherwise the job may not execute correctly.
If the job being run requests -l place=exclhost, take extra care to satisfy the exclhost request. Make sure that if any vnodes are from a multi-vnoded host, all vnodes from that host are allocated. Otherwise those vnodes can be allocated to other jobs.
-H -
Runs the job on the set of resources to which it is already assigned. You can run a job on the set of resources already assigned to the job, without having to list the resources, by using the - (dash) argument to the -H option. so convenient, honestly π
--versionβ theqruncommand returns its PBS version information and exits. This option can only be used alone.
π OPERANDS π
Job ID
The qrun command accepts a list of job IDs, of the form:
<sequence number>[.<server name>][@<server name>]
<sequence number>[<index>][.<server name>][@<server name>]
<sequence number>[<index start>-<index end>][.<server
name>][@<server name>]
Note that some shells require that you enclose a job array identifier in double quotes. shells stay being extra π
vnode specification
The vnode specification without resources has this format:
(<vchunk>)[+(<vchunk>) ...]
where vchunk has the format
<vnode name>[+<vnode name> ...]
Example: -H (VnodeA+VnodeB)+(VnodeC)
The vnode specification with resources has this format:
(<vchunk>)[+(<vchunk>) ...]
where vchunk has the format
<vnode name>:<vnode resources>[+<vnode name>:<vnode resources>
...]
and where vnode resources has the format
<resource name>=<value>[:<resource name>=<value> ...]
Example: -H (VnodeA:mem=100kb:ncpus=1) +
(VnodeB:mem=100kb:ncpus=2 + VnodeC:mem=100kb)
A vnode name is the name of the vnode, not the name of the host. iykyk π§
π STANDARD ERROR π
The qrun command writes a diagnostic message to standard error for each error occurrence.
π EXIT STATUS π
- Zero β On success.
- Greater than zero β If the
qruncommand fails to process any operand.
π₯ SEE ALSO π₯
qsub(1B)qmgr(8B)pbs_runjob(3B)
mwah π this iconic page is source Local, version qrun(8B), dated 25 January 2021 β bye bestie π«Ά
π¦ where this page comes from
- nixos 26.05: openpbs 23.06.06-unstable-2026-04-02
- nixpkgs unstable: openpbs 23.06.06-unstable-2026-04-02
- Copyright (C) 1994-2021 Altair Engineering, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms