$ZCHILD
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 言語モード :
-
$ZB 特殊変数
-
$ZEOF 特殊変数
-
"Caché 入出力デバイス・ガイド" の "シーケンシャル・ファイル入出力"