wait_for:タイムアウトまたは設定した条件まで処理を中断
書式
wait_for timeout [-p PATH] [-m MODULE] [-c RTC] [-f func] [-r]
オプション
- '-c RTC'
- 対象となるRTC名を設定する。
- '-f func'
- wait_forの評価関数を設定する。関数funcは、RTCオブジェクトを引数とする。
- '-m MODULE'
- wait_forコマンドを実行する前にMODULEをインポートする。
- '-p PATH'
- wait_forコマンドを実行する前に PATHをモジュールの検索パスに追加する。
- '-r'
- wait_forコマンドの終了条件評価として、 not func(RTC) を使う。(評価関数の真偽を反転する)
概要
wait_forコマンドは、設定した時間(timeout)または設定したRTCを引数にした関数funcが真になるまで処理を停止させます。
'' '-c'オプション''が設定されていない場合には、timeoutで設定した時間だけ処理を停止します。
'' '-f'オプション''が設定されない場合には、設定したRTCがネームサーバーに存在するかどうかをチェックします。
'' '-r'オプション''を設定すると関数func(RTC)が偽になるまで処理を停止します。
'' '-c'オプション''が設定されていない場合には、timeoutで設定した時間だけ処理を停止します。
'' '-f'オプション''が設定されない場合には、設定したRTCがネームサーバーに存在するかどうかをチェックします。
'' '-r'オプション''を設定すると関数func(RTC)が偽になるまで処理を停止します。
'' '-m'オプション''と'' '-p'オプション''は、injectコマンドやprintコマンドと同じになります。
使用例
wait_forコマンドは、RTCの起動の完了やRTCのアクティベーションを待つようなときに使用します。
例えば、OpenJTalkRTC0の起動するまで待つ場合には、
$ rtcmd wait_for 30 -c OpenJTalkRTC0
とします。この例では、タイムアウトが30(秒)になっています。30秒経ってもOpenJTalkRTC0が起動しない場合には、 ''""==== time out ====="''と表示されます。
また、アクティベーションの終了まで待つ場合には、
$ rtcmd wait_for 30 -c JuliusRTC0 -f self.check_active
とします。