布基尔

发送信号以终止,暂挂或恢复未完成的作业

概要

bkill [-l] [-b | -stat run | pend | susp] [-app application_profile_name] [-g job_group_name] [-sla service_class_name] [-J job_name] [-m host_name | -m host_group] [-q queue_name] [-r | -s signal_value | signal_name | -d] [-u user_name | -u user_group | -u all] [0] [-C kill_reason] [job_ID ... | 0 | "job_ID[index]" ...] [-h | -V]

描述

缺省情况下,发送一组信号以终止指定的作业。 在 UNIX 上,SIGINTSIGTERM发送信号,让作业在终止前有机会清除,然后SIGKILL发送信号以杀死该作业。 发送每个信号之间的时间间隔由 lsb.params 文件中的 JOB_TERMINATE_INTERVAL 参数定义。

缺省情况下,终止运行该命令的用户提交的最后一个作业。 必须指定作业标识或 -app-g-J-m-u-q 选项。 如果指定不带作业标识的 -app-g-J-m-u-q 选项,那么 bkill 命令将终止运行该命令的用户提交的最后一个作业。 指定作业标识 0 以终止多个作业。

在 Windows 上,作业控制消息将替换SIGINTSIGTERM信号,但只有定制的应用程序才能处理它们。 该TerminateProcess()发送系统调用以终止作业。

bkill 命令发送信号INT,TERMKILL按顺序进行。 使用 bkill 命令终止已分派作业时返回的退出代码取决于已终止作业的信号。

如果在 lsb.params 文件中设置了 PRIVILEGED_USER_FORCE_BKILL=y 参数,那么只有 rootLSF 管理员可以运行 bkill -r 命令。 对于其他用户,将忽略 -r 选项。

用户只能对自己的作业进行操作。 只有 rootLSF 管理员可以对其他用户提交的作业执行操作。

如果信号请求无法到达作业执行主机,那么 LSF 将在主机变为可访问时稍后尝试该操作。 LSF 重试最近的信号请求。

选项

0
终止满足其他选项 (-app. -g-m-q-u-J 选项) 的所有作业。
-b
尽快杀死大量工作。 本地暂挂作业将立即终止并尽快清除,忽略 lsb.params 文件中的 CLEAN_PERIOD 参数指定的时间间隔。 以此方式终止的作业不会记录到 lsb.acct 文件中。

其他作业,如运行作业,会尽快被杀死,并正常清理。

如果 -b 选项与 0 子命令一起使用,那么 bkill 命令将终止所有适用的作业,并以静默方式跳过无法终止的作业。
bkill -b 0
Operation is in progress

如果与 -r-s 选项一起使用,那么将忽略 -b 选项。

-d
终止作业,然后将作业记录为DONE在作业退出后。

使用远程集群时,请使用 -d 选项。

如果与 -r-s 选项一起使用,那么将忽略 -d 选项。

-d 选项仅对位于以下位置的已启动作业生效:RUN,USUSP,或SSUSP公开帖子, 否则,将忽略该选项。

-l
显示 bkill 命令支持的信号名称。 受支持的信号是受 /bin/kill 命令支持且与操作系统相关的信号的子集。
-r
LSF 系统中除去作业,而不等待作业在操作系统中终止。

如果在 lsb.params 文件中设置了 PRIVILEGED_USER_FORCE_BKILL=y 参数,那么只有 rootLSF 管理员可以运行 bkill -r 命令。 对于其他用户,将忽略 -r 选项。

在不使用 -r 选项的情况下,发送与 bkill 命令相同的一系列信号,但会立即从系统中除去该作业。 如果作业在UNKNWNstate , bkill -r 命令将作业标记为ZOMBI公开帖子, bkill -r 命令将作业更改为ZOMBI状态到EXIT公开帖子, 只要 LSF 接收到第一个信号,就会释放 LSF 监视的作业资源。

仅对在操作系统中无法终止的作业或使用 bkill 命令无法以其他方式除去的作业使用 bkill -r 命令。

-r 选项不能与 -s 选项一起使用。

-app application_profile_name
仅对与指定应用程序概要文件关联的作业执行操作。 必须指定现有应用程序概要文件。 如果未指定 job_ID 或 0 ,那么将仅对最近提交的合格作业进行操作。
-C kill_reason
为用户提供选项,以添加导致作业终止的原因。 原因的长度限制为 4095 个字符。
注: 此选项不能与 -s 选项 结合使用,除非信号为 SIGSTOPSIGCONTSIGKILL
-g job_group_name
仅对 job_group_name指定的作业组中的作业执行操作。

-g 选项与 -sla 选项配合使用,以终止附加到服务类的作业组中的作业。

bkill 命令不会终止路径中较低级别的作业组中的作业。 例如,作业附加到作业组/risk_group/risk_group/consolidate:
bsub -g /risk_group  myjob
Job <115> is submitted to default queue <normal>.
bsub -g /risk_group/consolidate myjob2
Job <116> is submitted to default queue <normal>.
以下 bkill 命令仅终止/risk_group作业组,而不是子组/risk_group/consolidate:
bkill -g /risk_group 0
Job <115> is being terminated
bkill -g /risk_group/consolidate 0
Job <116> is being terminated
-J job_name
仅对具有指定作业名的作业执行操作。 如果在 job_ID 选项中指定了非 0 的作业标识,那么将忽略 -J 选项。

作业名的长度最多可以为 4094 个字符。 作业名不唯一。

通配符 (*) 可以在作业名中的任何位置使用,但不能在数组下标中显示。 例如,模式 job* 返回jobAjobarray[1]. *AAA*[1] 模式返回作业数组中名称包含的第一个元素AAA. 但是,模式 job1[*] 不会返回任何内容,因为通配符在数组下标中。

-m host_name | -m host_group
仅对分派到指定主机或主机组的作业执行操作。

如果未指定 job_ID ,那么仅对最近提交的合格作业进行操作。 如果在 job_ID 选项中指定了非 0 的作业标识,那么将忽略 -m 选项。 使用 bhostsbmgroup 命令可查看有关主机和主机组的信息。

-q queue_name
仅对指定队列中的作业进行操作。

如果未指定 job_ID ,那么仅对最近提交的合格作业进行操作。

如果在 job_ID 选项中指定了非 0 的作业标识,那么将忽略 -q 选项。

使用 bqueues命令可查看有关队列的信息。

-s signal_value | signal_name
将指定的信号发送到指定的作业。 您可以指定名称,除去 SIG 前缀 (例如 KILL) 或数字 (例如 9)。

合格的 UNIX 信号名称由 bkill -l 命令列出。

-s 选项不能与 -r 选项一起使用。

使用 bkill -s 命令通过使用相应的信号 (而不是使用 bstopbresume 命令) 来暂挂和恢复作业。 发送 SIGCONT 信号与使用 bresume 命令相同。

SIGSTOP 信号发送到顺序作业或将 SIGTSTP 信号发送到并行作业与使用 bstop 命令相同。

不能暂挂已暂挂的作业,也不能恢复未暂挂的作业。 对位于以下位置的作业使用 SIGSTOPSIGTSTP 信号:USUSP状态无任何影响。 对不在其中的作业使用 SIGCONT 信号PSUSPUSUSP状态无任何影响。 使用 bjobs 命令可查看有关作业状态的信息。

支持有限的 Windows 信号:
  • 用于终止作业的 bkill -s 7bkill SIGKILL
  • bkill -s 16bkill SIGSTOP 以暂挂作业
  • bkill -s 15 以恢复作业
-sla 服务类名
对属于指定服务类的作业执行操作。

如果未指定作业标识,那么仅对最近提交的作业进行操作。

-sla 选项与 -g 选项配合使用,以终止附加到服务类的作业组中的作业。

如果在 job_ID 选项中指定了非 0 的作业标识,那么将忽略 -sla 选项。

使用 bsla 命令可显示 lsb.serviceclasses 文件中配置的服务类的配置属性。 bsla 命令还显示在 lsb.params 文件中使用 ENABLE_DEFAULT_EGO_SLA 参数配置的缺省 SLA ,以及有关每个服务类的状态的动态信息。

-stat run | pend | susp
尽快终止大量处于指定状态的作业。 本地暂挂作业将立即终止并尽快清除,忽略 lsb.params 文件中的 CLEAN_PERIOD 参数指定的时间间隔。 以此方式终止的作业不会记录到 lsb.acct 文件中。

其他作业,如运行作业,会尽快被杀死,并正常清理。

-stat 选项会终止所有适用的作业,并以静默方式跳过 LSF 无法终止的作业。

运行 -stat 命令选项时,您不需要作业标识,也不需要 -m-q-J-g-sla-app 选项之一。

-stat run 选项会终止您可以终止的所有正在运行的作业。

-stat pend 选项仅适用于 -s 选项指定的三个信号:INT,KILL,或TERM.

-stat 选项不能与 -b 选项一起使用。

-u user_name | -u user_group | -u all
仅对指定用户或用户组或所有用户 (如果指定了保留用户名 all ) 提交的作业执行操作。 要指定 Windows 用户帐户,请以大写字母包含域名,并在 Windows 命令行中使用单个反斜杠 (DOMAIN_NAME\user_name) 或在 UNIX 命令行中使用双反斜杠 (DOMAIN_NAME\\user_name)。

如果未指定作业标识,那么仅对最近提交的合格作业进行操作。 如果在 job_ID 选项中指定了非 0 的作业标识,那么将忽略 -u 选项。

job_ID ... | 0 | "job_ID[index]" ...
仅对由 job_ID"job_ID[index]"指定的作业执行操作,其中 "job_ID[index]" 指定所选作业数组元素。 使用 bjobs 命令可查看作业的数组元素。 对于作业数组,必须使用引号将作业标识和索引括起来,并且必须将索引括在方括号中。

通过指定作业数组标识而不是作业标识来终止整个作业数组。

可以在此处指定由任何用户提交的作业,而不使用 -u 选项。 如果使用保留作业标识 0 ,那么将对满足其他选项 (即 -m-q-u-J 选项) 的所有作业进行操作。 将忽略所有其他作业标识。

如果指定了除 0 以外的作业标识,那么选项 -u-q-m-J 无效。 作业标识在作业提交时返回。 使用 bjobs 命令可查找作业标识。

任何已终止的作业或作业阵列都将记录在 lsb.acct文件中。

-h
将命令用法打印到 stderr 并退出。
-V
将 LSF 发行版打印到 stderr 并退出。

示例

bkill -s 17 -q night
将信号 17 发送到调用者提交到队列的最后一个作业night.
bkill -q short -u all 0
终止队列中的所有作业short.
bkill -r 1045
强制移除未完成的作业 1045。
bkill -sla Tofino 0
终止属于指定服务类的所有作业Tofino.
bkill -g /risk_group 0
终止作业组中的所有作业/risk_group.
bkill -app fluent
终止与应用程序概要文件关联的最近提交的作业fluent针对当前用户。
bkill -app fluent 0
终止与应用程序概要文件关联的所有作业fluent针对当前用户。
bkill -stat run
终止所有处于以下环境中的作业:RUN状态。

另请参阅

bsub, bjobs, bqueues, bhosts, bresume, bapp, bsla, bstop, bgadd, bgdel, bjgroup, bparams, lsb.params, lsb.serviceclasses, mbatchd, kill, signal