Oracle Solaris Cluster リファレンスマニュアル

印刷ビューの終了

更新: 2015 年 9 月
 
 

hatimerun (1M)

名前

hatimerun - タイムアウト制御下での子プログラムの実行

形式

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

説明

hatimerun ユーティリティーでは、タイムアウト可能な別の子プログラムを実行するための便利な機能を備えています。Bourne シェルなどのスクリプト言語でのプログラミングに使用すると便利です。sh(1) を参照してください。

hatimerun ユーティリティーはプログラム prog を、引数 args を使用してタイムアウト制御化での子サブプロセスとして、かつ独自のプロセスグループとして実行します。タイムアウトは、–t timeOutSecs オプションを使用して秒単位で指定します。タイムアウトになると、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

標準エラー出力 に冗長出力します。

–x

hatimerun ユーティリティーの子プロセスで消費された時間が、タイムアウトにはならずに次の式の値を超えた場合、hatimerun は子プロセスで消費された timeOutSecs の割合を stderr に出力します。

timeOutSecs x timeOutThresholdPercentage

終了ステータス

タイムアウトになったとき、hatimerun は終了コード 99 で終了します。この値は、–e オプションで値を指定して変更できます。

タイムアウトにはなっていないがその他のエラーが (子プログラムによってではなく) hatimerun ユーティリティーによって検出された場合、hatimerun は終了コード 98 で終了します。

それ以外の場合、hatimerun は子プログラムと同じ終了ステータスで終了します。

hatimerun ユーティリティーは、シグナル SIGTERM をキャッチします。hatimerun は、このシグナルへの応答として、タイムアウトのときと同様に子プログラムを強制終了し、終了コード 98 で終了します。

属性

次の属性については、attributes(5) を参照してください。

属性タイプ
属性値
使用条件
ha-cluster/system/core
インタフェースの安定性
発展中

関連項目

kill(1), sh(1), scds_timerun(3HA), attributes(5)