Tkpvm コマンド(Commands)

このファイルの最新版は、 http://www.cogsci.kun.nl/tkpvm/commands.html にあります。
(オリジナルは英文)

以下のコマンドが現在実装されています。

データ型(Data types)

Tclでは文字列のみがデータ型として知られています。Pvmではどのデータ型も 使えます。ですので、sendコマンドの中では次の手法が変換に用いら れます。もし、これらがフォーマット記述子を持たなければ、次の規則で自動 変換が行なわれます: これは、"1.0"を含む文字列は、たとえ意図しなくても、倍精度実数として送 られることを意味します。もし、受取側のプロセスが文字列を期待していると すると、間違ったことになります。もし、こういった規則をオーバーライドし たければ(このベータリリース2ではまだ出来ませんが)、次のフォーマット指 定子を使います:
-char
文字(Character)
-byte
バイト(Byte) (0..255)
-short
単精度整数(Short integer) (usually -32768 .. 32767)
-int
整数(Integer) (usually -2147483648 .. 2147483647)
-long
倍精度整数(Long integer) (たいていは整数と同じ)
-tid
タスク識別子(Task identifier) (整数と同じ)
-float
浮動小数点(Floating point)
-double
倍精度浮動小数点(Double floating point)
-string
文字列はいつも、整数(最後の '\0' を含む文字数)の後ろにバイトの連なり として送られる。バイト配列(後述)をあたかも文字列のように読む事が可能。'\0' で終らなければ、'\0' が自動的に付加される。
-xxxx()
上記のいずれかの後ろに "()" が付くものは、その隣の引数が目録(list) として扱われ、配列(array)として送られる。PVM では、配列(array)はいつでも整数 (要素数)の後にその要素が連続して送られる。
-xxxx(number)
隣の引数は目録(list)として扱われる。最初の要素数(number)の 目録(list)が送られる(整数を前に送らないで!!!!!)。xxxx(1) が xxxxx と同じで ある事を除く。目録(list)の要素がその数(number)より、もしも多い場合は 切り捨てられ、もしも少ない場合はゼロ要素(整数(integers)には 0, 実数(floats) と倍精度実数(doubles)には0.0, 文字列(strings)には "", 文字(characters)には '\0')が付加される。
例えば:
send tid/group msgtag -float 5.4 -double() {3.14 2.17}
実数 (5.4), 整数 (2) および2個の倍精度実数 (3.14 と 2.17)を送る
send tid/group msgtag -int 5 -byte(7) "abcdefghijkl"
整数 (5) と 7 バイトの (abcdefg) (文字列は切り捨てられている)を送る
send tid/group msgtag -string "hello" -byte() "hello"
整数 (6) とそれに続く6バイト("hello\0")ともう一つの整数 (5) と それに続く5バイト("hello")を送る

タスク識別子(Task identifiers)

Pvm ではそれぞれのプロセスが、一意のタスク識別子(tid)と呼ばれ る番号を持っています。この番号はPvmへ(から)パッケージを送ったり受け取っ たりする時に使われます。キーワードの id あるいは parenttid として受け入れられます。このことは、send [parent] ... の代わりに、send parent ... を使う事を許します。

メッセージタグ(Message tags)

それぞれの送ったり受け取ったりするパッケージはメッセージタグ (msgtag)も持ちます。これは、受取側で多くの異なる目的のために確 認することが出来る、チャンネル番号と見る事もできます。これには、いつも 負で無い(non-negative)番号を使います(0 は構いません)。


Addhost

SYNOPSIS
addhost hostname ?hostname .....?
DESCRIPTION
仮想計算機(virtual machine)にホストを加える。

Bind

SYNOPSIS
bind tid msgtag ?command?
bind tid any ?command?
bind tid kill ?command?
DESCRIPTION
与えられたcommandを与えられたtid/msgtagに 結わえる。後でPvmを通してデータが受け取られた時はいつでも commandが実行されます。キーワード 'any' はどの tid またはmsgtag とも合致しますが、キーワードkillは違います。killはプロセ スtidが殺される時すぐにコマンドを実行するのに使えます。

commandの実行の間、tidmsgtagに合致するデータの み受け取れます。それで、recvコマンドはもうそれを指定する必要は ありません。コマンドの内部では受け取ったデータについての付加情報を見つ けることのできる3つのマクロがあります:

%t
tid
%m
msgtag
%n
受け取ったデータの合計バイト数。
これはtidまたはmsgtag(あるいは両方)が値any を持つ時に便利です。

もしcommandが空の文字列だと、結びは消されます。もし、commandが 無ければ、現在の結わえられているコマンドが返されます。

Conf

SYNOPSIS
conf
DESCRIPTION
pvm仮想計算機にある全てのホストの目録を与えます。それぞれの 目録の要素は4つの要素を持ち:デーモンのtid、ホストの名前とアーキテ クチャ、それから、スピード。

Delhost

SYNOPSIS
delhost hostname ?hostname .....?
DESCRIPTION
仮想計算機からホストを削除します。

Dialog

SYNOPSIS
dialog host title text bitmap default string ?string .....?
DESCRIPTION
それぞれのstring引数のためのボタンを持つダイアログをポッ プアップします。ユーザが押すボタンのインデックスを返し、0そして最も左 のボタンから始まります。インデックスdefaultはデフォルトのボタン を指定します。

Halt

SYNOPSIS
halt
DESCRIPTION
仮想計算機を停止し、全てのプロセスとデーモンを殺します。

Joingroup

SYNOPSIS
joingroup groupname
DESCRIPTION
グループgroupnameに加わりす。インスタンス番号(0から始まる) が返されます。

Kill

SYNOPSIS
kill tid ?tid .....?
DESCRIPTION
与えられたtidのプロセスを殺します。

Leavegroup

SYNOPSIS
leavegroup groupname
DESCRIPTION
グループgroupnameを去ります。

Parent

SYNOPSIS
parent ?tid?
DESCRIPTION
tidの親を返します。もし、このプロセスが親を持たなければ 結果は空です。
もし、tidが指定されなければ、idは仮定されます。

Patchlevel

SYNOPSIS
patchlevel package
DESCRIPTION
ロードされているTcl, Tk, Tkpvm そして pvm のようなライブラリのパッチレベルを返します。

Recv

SYNOPSIS
recv arg ?arg...?
DESCRIPTION
データを他のプロセスから受け取ります。引数は受け取るデータの期待するフォーマットを示し、次の値を持ち得ます:
char
文字(character)
string
文字列(string)
short
単精度整数(short integer)
int
整数(integer)
long
倍精度整数(long integer)
tid
タスク識別子。 実際これはintegerと同じで、値が16進表記で返されるだけ
float
浮動小数点(floating point)
double
倍精度浮動小数点(double)
xxxx()
上記のいずれかの後ろに "()" が付くものは配列が受け取ら れることを意味します。PVMでは配列は、配列はいつも整数(要素数)の後にそ の要素が連なようにして送られる。バイト配列のためには、結果は文字列とし て返され、他の型のためには目録のようにして返される。TKPVM 1.1の新機能。
xxxx(number)
型"xxxx"の要素がnumber回受け取られる。バイトの 場合は、結果は文字列として返され、他の型のためには目録のようにして返 される。TKPVM 1.1の新機能。
データは現在開いているチャンネルから受け取られます。普通これは bindコマンドで指定されます。

Reset

SYNOPSIS
reset
DESCRIPTION
自分自身とPVMデーモンを除く全てのプロセスを殺します。

Send

SYNOPSIS
send tid msgtag arg ?arg...?
send groupname msgtag arg ?arg...?
DESCRIPTION
全ての引数をチャンネルmsgtagを通してtidまたは groupnameに送ります。もし、引数前にフォーマット指定子が付かなけ れば、上記の変換規則に従って、整数、倍精度実数、または文字列として送ら れます。フォーマット指定子の構文のためにはデータ 型(data types)を御覧下さい。

Spawn

SYNOPSIS
spawn ?options? name ?options?
DESCRIPTION
与えるプロセスが産出されます。オプションは:
-ntask num
タスクの数
-host hostname
どのホスト
-arch arch
どのアーキテクチャ
-output fileId/msgtag
産出プロセスの出力をファイルにリダイレクト(e.g. stdout) します。あるいは、msgtag でリダイレクト(beta release 2の新機能)します。
nameの後の全てのオプションは産出されたプロセスのための オプションです。これらはpvmshあるいはpvmwishによっては割り込みされませ ん。

spawnコマンドは後で他のコマンドで使われるtidの目録を返します。 もし何もプロセスが産出できなければ、エラーが生成されます。

Tasks

SYNOPSIS
tasks
DESCRIPTION
仮想計算機で走っている全てのtidの目録を返します。追加オプション はこの目録のサブセットを指定できます。
-name name
与えられた名前に合致するtidのみ返します。name は正規表現が可能です。UNIXにより産出されたプロセスはいつも空の名前 ("")を持ちます。
-host hostname
指定されたホスト上のtidのみ返します。
-arch arch
指定されたアーキテクチャ上のtidのみ返します。
-group group
指定されたグループのtidのみ返します。
これらのオプションの組合せが許されています。

Term

SYNOPSIS
term name host ?command?
DESCRIPTION
テキスト表示をポップアップします。この表示にテキストを出力する 新しいコマンドnameが定義されます。もしユーザがリターンを押すと、 現在の行の内容がcommandに追加されて実行されます。
EXAMPLE
term t1 "" puts stdout
t1 "This text is displayed"

テキスト表示上でユーザがタイプしたもの全てが標準出力(stdout)に 書き出されます。

Tid

SYNOPSIS
tid (ベータ2以前ではidでした)
DESCRIPTION
自分自身のtidを返します。

Version

SYNOPSIS
version package
DESCRIPTION
Tcl, Tk, Tkpvm それから Pvmのようなロードされているライブラリ のバージョンを返します。
Back to Home
written by J. Nijtmans for the MIAMI project
translated by J. Kuwamura for Japanese