Oracle® Solaris Cluster 参考手册

退出打印视图

更新时间: 2014 年 7 月,E51743-01
 
 

hatimerun (1M)

名称

hatimerun - 超时时运行子程序

用法概要

/usr/cluster/bin/hatimerun -t timeOutSecs [-adv] [-e exitcode] prog args
/usr/cluster/bin/hatimerun -t timeOutSecs [-dv] [-e exitcode] [-k signalname] prog args

描述

hatimerun 实用程序为其他子程序的执行超时提供一个方便的工具。当以脚本语言(如 Bourne shell)编程时,该实用程序很有用。请参见 sh(1)

hatimerun 实用程序将包含参数 args 的程序 prog 作为超时时段内的子进程及其自己的进程组运行。超时是由 –ttimeOutSecs 选项指定的(秒)。如果超时到期,则 hatimerun 使用 SIGKILL 信号终止子进程的进程组,然后退出,并显示退出代码 99。

选项

支持以下选项:

–a

彻底更改 hatimerun 的含义:不同于在超时到期时终止子进程,hatimerun 实用程序只是退出,并显示退出代码 99,保留子进程异步运行。

同时提供 –a 选项和 – k 选项是非法的。

–d

启用超时延迟。此选项延迟启动超时时钟,直到程序 _prog_ 开始执行。在负载沉重的系统上,在子进程派生与指定的程序开始执行这两者之间可能有几秒的延迟。使用 –d 选项避免了将额外的执行前时间计入所分配的超时时间。

–e

将超时案例的退出代码更改为 99 以外的某个其他值。

–k

指定用于终止子进程组的信号。可能的信号名称与 kill(1) 命令识别的名称相同。需特别指出的是,信号名称应为在 <signal.h> 描述中定义的符号名称之一。信号名称是以不区分大小写的方式识别的,没有 SIG 前缀。向 –k 选项提供数字参数也是合法的,在这种情况下使用信号编号。

同时提供 –a 选项和 – k 选项是非法的。

–t

指定超时周期(秒)。

–v

详细输出,位于 stderr 上。

退出状态

如果发生超时,则 hatimerun 将退出,并显示退出代码 99(可以使用 –e 选项将其覆盖为某个其他值)。

如果未发生超时,但是 hatimerun 实用程序检测到某个其他错误(与子程序检测到的错误相反),则 hatimerunhatimerun 将退出,并显示退出代码 88。

否则,hatimerun 将以子程序的退出状态退出。

hatimerun 实用程序捕捉信号 SIGTERM。它通过终止子进程(就像发生了超时)响应信号,然后退出,并显示退出代码 98。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
ha-cluster/system/core
接口稳定性
Evolving(发展中)

另请参见

kill(1), sh(1), attributes(5)