跳到主要内容

qmod

修改 FSCHED 中队列和作业的状态。


参数介绍

队列操作

选项是否需要值目标类型功能描述主要差异
-d队列名禁用队列,阻止后续作业派发到该队列无差异
-e队列名启用队列,允许后续作业派发到该队列无差异
-sq队列名挂起队列,并停住该队列中正在运行的作业原生队列显示 s,wrapper 显示 d;原生作业显示 S,wrapper 显示 s
-usq队列名恢复队列,并继续该队列中被停住的作业不区分 suspend 来源,可能恢复 -sj 作业
-cq队列名清除队列 error 状态dummy 实现;队列存在时仅输出 no error
-rq队列名重新调度队列中已派发的作业重新入队后原生显示 Rq,wrapper 显示 qw

作业操作

选项是否需要值目标类型功能描述主要差异
-sj作业 ID挂起作业无差异
-usj作业 ID恢复被挂起的作业无差异
-cj作业 ID清除作业 error 状态dummy 实现;作业存在时仅输出 not in error state
-rj作业 ID重新调度作业重新入队后原生显示 Rq,wrapper 显示 qw

自动判断目标类型的兼容选项

选项是否需要值目标类型功能描述主要差异
-s队列名或作业 ID自动判断目标后执行挂起操作队列目标:原生队列显示 s,wrapper 显示 d;原生作业显示 S,wrapper 显示 s
-us队列名或作业 ID自动判断目标后执行恢复操作队列目标不区分 suspend 来源
-c队列名或作业 ID自动判断目标后清除 error 状态dummy 实现;目标存在时仅输出无 error 状态
-r队列名或作业 ID自动判断目标后执行重新调度操作重新入队后原生显示 Rq,wrapper 显示 qw

通用选项

选项是否需要值功能描述主要差异
-f强制执行状态修改部分支持;支持队列操作和作业挂起/恢复
-help显示帮助信息无差异
-version显示版本信息wrapper 扩展,原生不支持

目标与多目标规则

目标格式

目标说明
queue队列名
job_id数字作业 ID
queue@hostSGE queue instance 语法;当前不支持按单个主机上的 queue instance 操作,通常会报 invalid queue

多目标

同一个选项可以接收逗号分隔或空格分隔的多个目标:

qmod -d main,debug
qmod -sj 12345 12346

处理规则:

  • 目标按命令行顺序逐个处理。
  • 有效目标会继续执行,无效目标会输出对应错误。
  • 只要任一目标失败,最终退出码为 1。
  • 多个操作会按出现顺序执行,例如 qmod -d main -e main 会先 disable 后 enable。

使用示例

示例1:禁用队列

qmod -d main

效果:禁用 main 队列,阻止后续作业派发到该队列。

示例2:启用队列

qmod -e main

效果:启用 main 队列,允许后续作业派发到该队列。

示例3:挂起队列

qmod -sq main

效果:挂起 main 队列,并停住该队列中运行中的作业。

示例4:恢复队列

qmod -usq main

效果:恢复 main 队列,并继续该队列中处于 suspended 状态的作业。

示例5:挂起作业

qmod -sj 12345

效果:停住作业 12345。挂起期间作业资源不会释放。

示例6:恢复作业

qmod -usj 12345

效果:继续运行被挂起的作业 12345

示例7:重新调度可重新运行作业

qmod -rj 12345

效果:若作业允许重新调度,则将其重新入队;否则输出 not restartable。

示例8:重新调度队列中的作业

qmod -rq main

效果:枚举 main 队列中已派发的作业,并逐个尝试重新调度。

示例9:多目标按顺序处理

qmod -d main,debug -e main

效果:先禁用 maindebug,再启用 main