rtls

書式

rtls [OPTION ...] [PATH]

概要

RTCツリーのディレクトリにあるオブジェクトをリストします。デフォルトは現在のワーキングディレクトリをリストします。

ロング形式の表示では、以下の項目も表示します。

 ステート
 ポートの数/接続されたポートの数
 インポートの数/接続されたインポートの数
 アウトポートの数/接続されたアウトポートの数
 サービスポートの数/接続されたサービスポートの数
 名前

オプション(OPTION)

 -l   詳細な情報を表示します
 -R、--recurse
       サブツリーの情報も表示します。
 --version プログラムのバージョン番号を表示します
 -h、--help    ヘルプを表示します
 -v、--verbose    より詳細な情報を出力します

-lオプションで表示されるフィールドの意味

  • lオプションを使用した場合、例えば、以下のように表示されます:
     C:\>rtls -l /localhost/OPENRTM-AIS57CA.host_cxt
     Active    0/0  0/0  0/0  0/0  ConfigSample0.rtc
     Inactive  1/0  0/0  1/0  0/0  ConsoleIn0.rtc
     Inactive  1/0  1/0  0/0  0/0  ConsoleOut0.rtc

ここで、表示される各行は

 STATE  AP/APC IP/IPC OP/OPC  SP/SPC NAME

となり、それぞれは以下の意味を持ちます:
STATE
Active、Inactive、Errorのどれかのコンポーネントの状態が表示されます。
APN/APC
ポートの総数/接続しているポートの数
IP/IPC
入力ポートの総数/接続している入力ポートの数
OP/OPC
出力ポートの総数/接続している出力ポートの数
SP/SPC
サービスポートの総数/接続しているサービスポートの数
NAME
ノードの名前(RTC名など)

パス

rtshellはパスでRTCツリーのオブジェクトを示します。ネームサーバーとネームコンテクストはディレクトリ名として指定され、マネージャとRTコンポーネントはファイル名として指定されます。コマンドに渡したパスはrtshellの現在の作業ディレクトリを元に指定されます。(相対パスの場合)。rtshellの現在の作業ディレクトリはRTCSH_CWDという環境変数に保存されて、rtcwdというコマンドで変更できます。(現時点でrtcwdコマンドはLinux環境では動作していません)

利用できるパスはコマンド実行時に参照しているネームサーバーによって変わります。ネームサーバーが実行されているホスト名はRTCTREE_NAMESERVERSという環境変数で指定できます。また、直接ルート直下のパスとして/<ホスト名>/....のような形でネームサーバーが実行されているホストを指定できます。

例えば、/localhost/comp0.rtcはlocalhostにあるネームサーバーに登録されたcomp0.rtcというRTコンポーネントを示します。/localhost/manager/comp0.rtcはlocalhostにあるネームサーバーの下のmanagerというディレクトリに登録されたcomp0.rtcというRTコンポーネントを示します。./comp0.rtcは現在の作業ディレクトリにあるcomp0.rtcというRTコンポーネントを示します。

RTコンポーネントのポートを示す場合、パスの後にコロン(「:」)で区切って指定します。例えば、/localhost/comp0.rtc:dataはcomp0.rtcというRTコンポーネントのdataというポートを意味します。

新しいポートを作れるコマンドもあり、この場合、オプションでそれらをパスに追加できます。使えるオプションは作られるポートの名前とフォーマッタです。指定方法は以下の通りです:

 <path>:<port>.<new_port_name>#<formatter>

例:

 /localhost/blurg.host_cxt/comp0.rtc:input.stuff#a_printer

新たに作られるポートの名前はstuffで、データはa_printerという関数(フォーマッター)でターミナルに表示するように指定しています。(a_printerの関数はPythonが利用可能な場所に存在する必要があります。普通はユーザーがモジュールで提供します)。作られたポートはcomp0.rtcのinputというポートに接続されます。

<new_port_name>という部分は必須ではありません。指定しない場合は"."も指定しないでください。例:

 /localhost/blurg.host_cxt/comp0.rtc:input#a_printer

<formatter>という部分は必須ではありません。書いていない場合は"."も指定しないでください。例:

 /localhost/blurg.host_cxt/comp0.rtc:input.stuff

環境変数

RTCTREE_ORB_ARGS
ORBを作る時に渡す変数です。セミコロンで区切ります。必須ではありません。
RTCTREE_NAMESERVERS
RTCツリーを作る時に参照するネームサーバーのアドレスです。アドレスをセミコロンで区切ります。リストされたアドレスはRTCツリーに追加されrtshellで参照できるようになります。ルート下のディレクトリ名としてパスで指定することもできるので必須ではありません。
RTSH_CWD
rtshellの現在のワーキングディレクトリ。rtshellが自動的に設定します。設定しないでください。

一般的な利用ではユーザーが設定する変数はRTCTREE_NAMESERVERSのみです。よく使うネームサーバーを設定しておくと便利です。例えば、Bashシェルの場合、以下のコマンドはlocalhostとポート192.168.0.1:65346およびホストexample.comにあるネームサーバーをrtshellが参照できるようにします。

 $ export RTCTREE_NAMESERVERS=localhost;192.168.0.1:65346;example.com

返り値

成功の場合はゼロを返します。失敗の場合はゼロではない値を返します。

デバッグ情報とエラーはstderrに出力されます。

  • 現在のワーキングディレクトリにあるオブジェクトを表示します。
     $ rtls
  • RTCツリーのルートディレクトリをリストします。このコマンドはネームサーバーを表示します。
     $ rtls /
  • localhostネームサーバーに登録されているオブジェクトをリストします。
     $ rtls /localhost
  • localhostネームサーバーに登録されたすべてのオブジェクトをリストします。
     $ rtls -R /localhost
  • localhostネームサーバーの登録されたオブジェクトの詳細な情報をリストします。コンポーネントのステートなどを見ることが可能です。
     $ rtls -l /localhost
  • localhostネームサーバーに登録されたすべてのオブジェクトの詳細な情報をリストします。
     $ rtls -lR /localhost
  • 1秒ごとに現在のワーキングディレクトリのコンポーネントの状態を表示します。(POSIX環境のみ)
     $ watch -n 1 rtls -l

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2195
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク