Google

Go to the first, previous, next, last section, table of contents.


ox_launch, ox_launch_nox, ox_shutdown

ox_launch([host[,dir],command])
ox_launch_nox([host[,dir],command])
:: 遠隔プロセスの起動および通信を開始する.
ox_shutdown(id)
:: 遠隔プロセスを終了させ, 通信を終了する.
return
整数
host
文字列または 0
dir, command
文字列
id
整数
  • ox_launch() は, ホスト host 上でコマンド command を起動し, このプロセスと通信を開始する. 引数が 3 つの場合, host 上で, dir にある `ox_launch' というサーバ起動用プログラムを立ち上げる. `ox_launch'command を起動する. host が 0 の時, Asir が動作している マシン上でコマンドを起動する. 無引数の場合, host は 0, dirget_rootdir() で返されるディレクトリ, command は同じディレクトリの `ox_asir' を意味する.
  • host が 0, すなわちサーバを local に起動する場合には, dir を省略できる. この場合, dirget_rootdir() で返される ディレクトリとなる.
  • command`/' で始まる文字列の場合, 絶対パスと解釈される. それ以外の場合, dir からの相対パスと解釈される.
  • UNIX 版においては, ox_launch() は, command の標準出力, 標準 エラー出力を表示するための `xterm' を起動する. ox_launch_nox() は, X なしの環境の場合, あるいは `xterm' を起動せずにサーバを立ち上げる場合に用いる. この場合, command の出力は `/dev/null' に接続される. ox_launch() の場合でも, 環境変数 DISPLAY が設定されていない 場合には, ox_launch_nox() と同じ動作をする.
  • 返される整数は通信のための識別子となる.
  • Asir と通信するプロセスは同一のマシン上で動作している必要はない. ま た, 通信におけるバイトオーダは server, client 間での最初の negotiation で決まるため, 相手先のマシンとバイトオーダが異なっていても構わない.
  • host にマシン名を指定する場合, 以下の準備が必要である. ここで, Asir の動いているホストを A, 通信相手のプロセス が起動されるホストを B とする.
    1. ホスト B`~/.rhosts' に, ホスト A のホスト 名を登録する.
    2. `ox_plot' など, X とのコネクションも用いられる場合, Xserver に対し, 必要なホストを authorize させる. xhost で必要なホスト名を追加すればよい.
    3. command によっては, スタックを大量に使用する ものもあるため, `.cshrc' でスタックサイズを大きめ (16MB 程度) に 指定しておくのが安全である. スタックサイズは limit stacksize 16m などと指定する.
  • command が, X 上にウインドウを開ける場合, displayが指定されればその文字列を, 省略時には環境変数 DISPLAY の値を用いる.
  • 環境変数 ASIR_RSH がセットされている場合, サーバの立ち上げプログラム として`rsh' の代わりにこの変数の値が用いられる. 例えば,
    % setenv ASIR_RSH "ssh -f -X -A "
    
    により, サーバの立ち上げに `ssh' が用いられ, X11 の通信が forwarding される. 詳しくは `ssh' のマニュアルを 参照.
  • ox_shutdown() は識別子 id に対応する遠隔プロセス を終了させる.
  • Asir が正常した場合には全ての入出力ストリームは自動的に閉じられ, 起動されているプロセスは全て終了するが, 異常終了した場合, 遠隔プロセス が終了しない場合もある. Asir が異常終了した場合, 遠隔プロセスを 起動したマシン上で ps などを起動して, もし Asir から起動 したプロセスが残っている場合, kill する必要がある.
  • log 表示用 `xterm'`-name ox_term' オプションで起動される. よって, `ox_term' なるリソース名に対して `xterm' のリソース設定 を行えば, log 用 `xterm' の挙動のみを変えることができる. 例えば,
    ox_xterm*iconic:on
    ox_xterm*scrollBar:on
    ox_xterm*saveLines:1000
    
    により, icon で起動, scrollbar つき, scrollbar で参照できる行数 が最大 1000 行, という指定ができる.
[219] ox_launch();
0
[220] ox_rpc(0,"fctr",x^10-y^10);      
0
[221] ox_pop_local(0);
[[1,1],[x^4+y*x^3+y^2*x^2+y^3*x+y^4,1],
[x^4-y*x^3+y^2*x^2-y^3*x+y^4,1],[x-y,1],[x+y,1]]
[222] ox_shutdown(0);    
0
参照
section ox_rpc, ox_cmo_rpc, ox_execute_string, section ox_pop_cmo, ox_pop_local, section ifplot, conplot, plot, polarplot, plotover


Go to the first, previous, next, last section, table of contents.