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?

$ZCHILD

最後の子プロセスの ID を含みます。

Synopsis

$ZCHILD
$ZC 

概要

$ZCHILD は、現在のプロセスが JOB コマンドを使用して作成した、最後の子プロセスの ID を含みます。JOB を使用して子プロセスを一度も起動していない場合、$ZCHILD は 0 (ゼロ) を返します。

MSM 言語モードでは、$ZC 特殊変数は異なる方法で使用されます。これは、シーケンシャル・ファイルの読み取りで、ファイルの最後を決定するのに使用されます。

この特殊変数は、SET コマンドを使用して変更することはできません。変更を試みると、<SYNTAX> エラーが返されます。

メモ

$ZCHILD とジョブの正常な開始

$ZCHILD が設定されていても、ジョブが正常に開始されたことを示しているわけではありません。プロセスが作成され、パラメータが正常に渡されたことを示しているだけです。

例えば、JOB を使用して存在しないルーチンを作成するとき、新しいジョブはすぐに <NOROUTINE> エラーになるにもかかわらず、$TEST$ZCHILD は、両方とも JOB コマンドが成功したという報告をします。

MSM 言語モードでの $ZC

MSM 言語モードは、$ZC 特殊変数の特別な使用をサポートします。

%SYSTEM.ProcessOpens in a new tab クラスの LanguageMode(8)Opens in a new tab メソッドを使用して、現在の言語モードを MSM に設定した場合、シーケンシャル・ファイルの読み取り中に $ZC 特殊変数が設定されます。これにより、MSM $ZC 変数との互換性が提供されます。(他のすべての言語モードでは、$ZC はファイルの読み取り中には設定されません。$ZC$ZCHILD の省略形で、その機能はまったく異なります。)

MSM 言語モードでは、成功したシーケンシャル・ファイルの読み取りは $ZC=0 と設定します。

MSM 言語モードでは、ファイルの最後の条件が $ZC=-1 (負の 1) と設定します。<ENDOFFILE> エラーは発生しません。

しかし、Caché$ZC は MSM $ZC と同一ではありません。

ファイルの最後の行が区切り文字で終了していない場合、MSM は $ZC=-1 (負の 1) に設定します。Caché は区切り文字をチェックしません。この場合、これは -1 の代わりに $ZC=0 に設定します。

読み取り中に入出力エラーが発生すると、MSM は $ZC=1 に設定します。Caché はこの機能をサポートせず、<READ> エラーを返します。

関連項目

子プロセス :

MSM 言語モード :

FeedbackOpens in a new tab