ONC+ 開発ガイド

リスナの使用

次に示すように pmadm を使用して RPC サービスを追加します。

pmadm -a -p pm_tag -s  svctag -i id -v vers  ¥
 
	-m `nlsadmin -c command -D -R prog:vers`

引数の -a はサービスの追加を意味します。-p pm_tag ではサービスへのアクセスを提供するポートモニタに結合したタグを指定します。-s svctag はサーバーの ID コードです。-i id はサービス svctag に割り当てられた /etc/passwd 内のユーザー名です。-v vers はポートモニタのデータベースファイルのバージョン番号です。-m ではサービスを呼び出す nlsadmin コマンドを指定します。nlsadmin コマンドには引数を渡すことができます。たとえば、rusersd という名前の遠隔プログラムサーバーのバージョン 1 を追加する場合は、pmadm コマンドは次のようになります。

# pmadm -a -p tcp -s rusers -i root -v 4 ¥
   -m `nlsadmin -c /usr/sbin/rpc.ruserd -D -R 100002:1`

このコマンドでは、root パーミッションが指定され、listener データベースファイルのバージョン 4 でインストールされ、TCP トランスポート上で使用可能になります。pmadm の引数やオプションは複雑であるため、RPC サービスはコマンドスクリプトでもメニューシステムでも追加できます。メニューシステムを使用するには、sysadm ports と入力して、port_services オプションを選択します。

サービスを追加した場合は、その後リスナを再初期化してサービスを利用可能にしなければなりません。そのためには、次のようにリスナを一度止めてから再起動します (このとき rpcbind が実行されていなければならないことに注意してください)。

# sacadm -k -p pmtag
# sacadm -s -p pmtag

リスナプロセスの設定などについての詳細は、listen(1M)pmadm(1M)sacadm(1M)sysadm(1M) のマニュアルページと『TCP/IP とデータ通信』を参照してください。