引数
引数 |
説明 |
pc |
オプション — 後置条件式。 |
device |
閉じるデバイス。 |
parameters |
オプション — デバイスの特性を設定するのに使用される 1 つまたは複数のパラメータ。1 つのパラメータは、CLOSE device:"D" などのように、引用符付きの文字列として指定できます。複数のパラメータは、括弧で囲み、コロンで区切る必要があります。 |
概要
CLOSE device は、指定されたデバイスの所有権を解放し、オプションで parameter を設定し、それを利用可能デバイス・プールに返します。
プロセスが指定のデバイスを所有していない場合、または指定のデバイスが開かれていないか、存在していない場合、InterSystems IRIS は、CLOSE を無視し、エラーを発行せずに返します。
引数
pc
オプションの後置条件式。InterSystems IRIS は、後置条件式が True (0 以外の数値に評価される) の場合に CLOSE コマンドを実行します。InterSystems IRIS は、後置条件式が False (0 に評価される) の場合はコマンドを実行しません。詳細は、"ObjectScript の使用法" の "コマンド後置条件式" を参照してください。
device
閉じるデバイス。device には、物理デバイス、TCP 接続、またはシーケンシャル・ファイルのパス名を指定できます。ここでは、対応する OPEN コマンドで指定したものと同じデバイス ID (ニーモニック、または数字) を指定します。デバイス ID の指定に関する詳細は、"OPEN" コマンドを参照してください。
単一のデバイス ID、またはデバイス ID のコンマ区切りのリストを指定できます。CLOSE は、プロセスが現在開いている、リストされているデバイスをすべて閉じます。リストされているデバイスでも、存在しないデバイスや、このプロセスによって現在開かれていないデバイスは無視されます。
現在のデバイスのデバイス ID は、$IO 特殊変数に含まれています。
parameters
指定のデバイスを閉じるときに使用されるパラメータ、またはコロンで区切られたパラメータのリスト。パラメータでは、大文字と小文字は区別されません。複数のパラメータを指定する場合は、括弧で囲み、コロンで区切る必要があります。
利用できるパラメータ値は以下のとおりです。
パラメータ |
概要 |
"D" |
シーケンシャル・ファイルを閉じて削除します。/DEL、/DEL=1、/DELETE、または /DELETE=1 のように指定することもできます。 |
"R":newname |
シーケンシャル・ファイルを閉じ、その名前を変更します。/REN=newname または /RENAME=newname のように指定することもできます。 |
“K” |
オペレーティング・システム・レベルではなく、InterSystems IRIS レベルで閉じます。Windows 以外のシステムでのみ使用されます。 |
指定された parameter が有効でない場合も、CLOSE はデバイスを閉じます。
詳細は、"入出力デバイス・ガイド" の "シーケンシャル・ファイルの入出力" を参照してください。
デバイスの所有権を取得する
プロセスは、OPEN コマンドでデバイスの所有権を取得し、USE コマンドでそれをアクティブにします。閉じたデバイスがアクティブ (つまり、現在のデバイス) である場合、既定の入出力デバイスが現在のデバイスとなります。(既定の入出力デバイスは、ログイン時に確立されます)プロセスが終了するとき (例えば HALT の後など) には、開いていたデバイスはすべて自動的に閉じ、システムに戻ります。
既定のデバイスを閉じると、それ以降に、そのデバイスに出力 (エラー・メッセージなど) が送られるとプロセスは停止します。この場合は、既定のデバイスを明示的に、再度開く必要があります。
例
以下の UNIX® の例では、デバイス C (/dev/tty02) が現在のデバイスでない場合にのみ、CLOSE コマンドでこのデバイスを閉じます。後置条件は、特殊変数 $IO を使用して、現在のデバイスを確認します。
CloseDevC
SET C="/dev/tty02"
OPEN C
; ...
CLOSE:$IO'=C C
関連項目