Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

CLOSE

ファイルまたはデバイスを終了します。

Synopsis

CLOSE:pc closearg,...
C:pc closearg,... 

closearg には、以下を指定できます。

device:parameters

引数

pc オプション — 後置条件式。
device 閉じるデバイス。
parameters オプション — デバイスの特性を設定するのに使用される 1 つまたは複数のパラメータ。1 つのパラメータは、CLOSE device:"D" などのように、引用符付きの文字列として指定できます。複数のパラメータは、括弧で囲み、コロンで区切る必要があります。

概要

CLOSE device は、指定されたデバイスの所有権を解放し、オプションで parameter を設定し、それを利用可能デバイス・プールに返します。

プロセスが指定のデバイスを所有していない場合、または指定のデバイスが開かれていないか、存在していない場合、Caché は、CLOSE を無視し、エラーを発行せずに返します。

引数

pc

オプションの後置条件式。Caché は、後置条件式が True (0 以外の数値に評価される) の場合に CLOSE コマンドを実行します。Caché は、後置条件式が False (0 に評価される) の場合はコマンドを実行しません。詳細は、"Caché 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” オペレーティング・システム・レベルではなく、Caché レベルで閉じます。Windows 以外のシステムでのみ使用されます。

指定された parameter が有効でない場合も、CLOSE はデバイスを閉じます。

詳細は、"Caché 入出力デバイス・ガイド" の "シーケンシャル・ファイルの入出力" を参照してください。

以下の UNIX® の例では、デバイス C (/dev/tty02) が現在のデバイスでない場合にのみ、CLOSE コマンドでこのデバイスを閉じます。後置条件は、特殊変数 $IO を使用して、現在のデバイスを確認します。

CloseDevC
  SET C="/dev/tty02"
  OPEN C
    ; ...
  CLOSE:$IO'=C C

メモ

デバイスの所有権を取得する

プロセスは、OPEN コマンドでデバイスの所有権を取得し、USE コマンドでそれをアクティブにします。閉じたデバイスがアクティブ (つまり、現在のデバイス) である場合、既定の入出力デバイスが現在のデバイスとなります。(既定の入出力デバイスは、ログイン時に確立されます)プロセスが終了するとき (例えば HALT の後など) には、開いていたデバイスはすべて自動的に閉じ、システムに戻ります。

既定のデバイスを閉じると、それ以降に、そのデバイスに出力 (エラー・メッセージなど) が送られるとプロセスは停止します。この場合は、既定のデバイスを明示的に、再度開く必要があります。

関連項目

FeedbackOpens in a new tab