布基尔
发送信号以终止,暂挂或恢复未完成的作业
概要
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 上,SIGINT和SIGTERM发送信号,让作业在终止前有机会清除,然后SIGKILL发送信号以杀死该作业。 发送每个信号之间的时间间隔由 lsb.params 文件中的 JOB_TERMINATE_INTERVAL 参数定义。
缺省情况下,终止运行该命令的用户提交的最后一个作业。 必须指定作业标识或 -app, -g, -J, -m, -u或 -q 选项。 如果指定不带作业标识的 -app, -g, -J, -m, -u或 -q 选项,那么 bkill 命令将终止运行该命令的用户提交的最后一个作业。 指定作业标识 0 以终止多个作业。
在 Windows 上,作业控制消息将替换SIGINT和SIGTERM信号,但只有定制的应用程序才能处理它们。 该TerminateProcess()发送系统调用以终止作业。
bkill 命令发送信号INT,TERM和KILL按顺序进行。 使用 bkill 命令终止已分派作业时返回的退出代码取决于已终止作业的信号。
如果在 lsb.params 文件中设置了 PRIVILEGED_USER_FORCE_BKILL=y 参数,那么只有 root 和 LSF 管理员可以运行 bkill -r 命令。 对于其他用户,将忽略 -r 选项。
用户只能对自己的作业进行操作。 只有 root 和 LSF 管理员可以对其他用户提交的作业执行操作。
如果信号请求无法到达作业执行主机,那么 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 参数,那么只有 root 和 LSF 管理员可以运行 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 选项 结合使用,除非信号为 SIGSTOP, SIGCONT或 SIGKILL。
- -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 terminatedbkill -g /risk_group/consolidate 0 Job <116> is being terminated - -J job_name
- 仅对具有指定作业名的作业执行操作。 如果在 job_ID 选项中指定了非 0 的作业标识,那么将忽略 -J 选项。
作业名的长度最多可以为 4094 个字符。 作业名不唯一。
通配符 (*) 可以在作业名中的任何位置使用,但不能在数组下标中显示。 例如,模式 job* 返回jobA和jobarray[1]. *AAA*[1] 模式返回作业数组中名称包含的第一个元素AAA. 但是,模式 job1[*] 不会返回任何内容,因为通配符在数组下标中。
- -m host_name | -m host_group
- 仅对分派到指定主机或主机组的作业执行操作。
如果未指定 job_ID ,那么仅对最近提交的合格作业进行操作。 如果在 job_ID 选项中指定了非 0 的作业标识,那么将忽略 -m 选项。 使用 bhosts 和 bmgroup 命令可查看有关主机和主机组的信息。
- -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 命令通过使用相应的信号 (而不是使用 bstop 或 bresume 命令) 来暂挂和恢复作业。 发送 SIGCONT 信号与使用 bresume 命令相同。
将 SIGSTOP 信号发送到顺序作业或将 SIGTSTP 信号发送到并行作业与使用 bstop 命令相同。
不能暂挂已暂挂的作业,也不能恢复未暂挂的作业。 对位于以下位置的作业使用 SIGSTOP 或 SIGTSTP 信号:USUSP状态无任何影响。 对不在其中的作业使用 SIGCONT 信号PSUSP或USUSP状态无任何影响。 使用 bjobs 命令可查看有关作业状态的信息。
支持有限的 Windows 信号:- 用于终止作业的 bkill -s 7 或 bkill SIGKILL
- bkill -s 16 或 bkill 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