HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
LNM$SYSCLUSTER テーブルにクラスタ・ワイド論理名を割り当てます。
指定されたテーブルにエグゼクティブ・モードの論理名を作成します。 /EXECUTIVE_MODE 修飾子を指定しても SYSNAM 特権が与えられていない場合には,ASSIGN コマンドはその修飾子を無視して,スーパバイザ・モードの論理名を作成します。論理名のモードは,登録する論理名テーブルのモードと同じか,またはより低いモードでなければなりません。
論理名をグループ論理名テーブルに登録します。UIC ( 利用者識別コード ) のグループ番号が等しい他のユーザは,その論理名をアクセスすることができます。 /GROUP 修飾子は /TABLE=LNM$GROUP の同意語です。
| CONFINE | SPAWN コマンドでサブプロセスを作成した時,論理がサブプロセスにコピーされないことを指定します。このキーワードは,利用者固有のテーブルに論理名を作成する場合にだけ,意味をもちます。 |
| NO_ALIAS | より低い特権の(外側の)アクセス・モードでは,このテーブルに同じ名前の論理名を作成できないことを指定します。同じ名前を持つ他の論理名が,このテーブルより低い特権のアクセス・モードで既に存在する場合には,その論理名は削除されます。 |
キーワードを 1 つだけしか指定しない場合には,括弧を省略することができます。指定した属性だけが設定されます。
論理名をシステム論理名テーブルに登録します。システムのすべてのユーザが,その論理名をアクセスすることができます。 /SYSTEM 修飾子は /TABLE=LNM$SYSTEM の同意語です。
論理名が登録される論理名テーブルの名前を指定します。 /TABLE 修飾子を使用すれば,ユーザが定義した論理名テーブル(CREATE/NAME_TABLE コマンドによって作成されるテーブル)や,プロセス論理名テーブル,ジョブ論理名テーブル,グループ論理名テーブル,システム論理名テーブルのいずれも指定することができ,あるいはプロセス論理名ディレクトリ・テーブルまたはシステム論理名ディレクトリ・テーブルを指定することもできます。
複数の等価名を持つ論理名を使ってテーブル名を指定すると,その論理名は最初に検出されたテーブルに登録されます。たとえば,ASSIGN/TABLE=LNM$FILE_DEV を指定した時, LNM$FILE_DEV は LNM$PROCESS と LNM$JOB,LNM$GROUP,LNM$SYSTEM に等しいと定義されているので,この場合には,論理名が LNM$PROCESS に登録されます。
/TABLE 修飾子を明示的に指定しなかった場合には,省略時の設定として, /TABLE=LNM$PROCESS が使用されます。
論理名を等価文字列に変換する際の,1 つまたは複数の属性を指定します。変換属性に対しては,次のキーワードを指定できます。
| CONCEALED | 等価文字列が隠し装置名であることを指定します。
隠し装置名が定義されると,装置を参照するメッセージの中で,等価文字列ではなく論理名が表示されます。 CONCEALED属性を指定した場合,等価文字列は物理装置名でなければなりません。 |
| TERMINAL | 等価文字列の反復変換を行わないことを指定します。したがって,論理名変換は現在の等価文字列で終了します。 |
キーワードを1つだけしか指定しない場合には,括弧を省略することができます。指定した属性だけが設定されます。
同じ論理名に対して複数の異なる等価文字列を指定する場合は,各等価文字列に対して異なる変換属性を指定できます。
プロセス論理名テーブルに作成されたユーザ・モード論理名は,ただ1つのイメージ実行においてだけ使用されます。すなわち,プロセスの中でのイメージの実行の終了時に (つまり,イメージまたはユーザ・プログラムを実行するDCLコマンドが終了した後で),ユーザ・モード・エントリは,論理名テーブルから削除されます。また,ユーザ・モード論理名は,コマンド・プロシージャを起動および実行している時に,自動的に削除されます。
| #1 |
|---|
$ ASSIGN $DISK1:[CREMERS.MEMOS] MEMOSD |
この ASSIGN コマンドは,ファイル指定の一部分 $DISK1:[CREMERS.MEMOS]を論理名 MEMOSD に割り当てます。
| #2 |
|---|
$ ASSIGN/USER_MODE $DISK1:[FODDY.MEMOS]WATER.TXT TM1 |
この ASSIGN コマンドは,論理名 TM1 にファイル指定を割り当てています。イメージの実行後に,この論理名は自動的に削除されます。
| #3 |
|---|
$ ASSIGN XXX1:[HEROLD] ED $ PRINT ED:TEST.DAT Job 274 entered on queue SYS$PRINT |
この ASSIGN コマンドは,ED という論理名を,XXX1 というディスクの[HEROLD]というディレクトリ名に割り当てます。このあと,ED という論理名を参照すると,この論理名が指定されたディスクおよびディレクトリとして使用されます。 PRINT コマンドは,XXX1:[HEROLD]TEST.DAT というファイルを印刷するジョブを,システム・プリンタのキューに登録します。
| #4 |
|---|
$ ASSIGN YYY2: TEMP: $ SHOW LOGICAL TEMP "TEMP" = "YYY2:" (LNM$PROCESS_TABLE) $ DEASSIGN TEMP |
この ASSIGN コマンドは,TEMP という論理名を YYY2 という装置に割り当てます。 TEMP は,スーパバイザ・モードで作成され,プロセス論理名テーブルに登録されます。 SHOW LOGICAL コマンドは,論理名の割り当てが実行されたかどうかを確認します。この ASSIGN コマンドでは,TEMP という論理名の最後にコロンが指定されていますが,コマンド・インタプリタは論理名テーブルにその論理名を登録する前に,コロンを削除します。したがって,このあとの DEASSIGN コマンドでは, TEMP だけを指定し,コロンは省略することができます。 SHOW LOGICAL コマンドでは,コロンを省略(たとえば,SHOW LOGICAL TEMP)しなければなりません。
| #5 |
|---|
$ MOUNT TTT1: MASTER TAPE $ ASSIGN TAPE:NAMES.DAT PAYROLL $ RUN PAYROLL . . . |
この例では,装置 TTT1: にマウントされたボリューム(ラベル名 MASTER)に論理名 TAPE を MOUNT コマンドで割り当てています。 ASSIGN コマンドで,論理装置 TAPE 上のファイル NAMES.DAT に論理名 PAYROLL を割り当てています。したがって,プログラムが論理名 PAYROOL で参照する OPEN 要求を出すと,ボリューム・ラベル名 MASTER というテープ上のファイル NAMES.DATがオープンされます。
| #6 |
|---|
$ CREATE/NAME_TABLE TABLE1 $ ASSIGN/TABLE=LNM$PROCESS_DIRECTORY TABLE1,- _$ LNM$PROCESS,LNM$JOB,LNM$GROUP,LNM$SYSTEM LNM$FILE_DEV $ ASSIGN/TABLE=TABLE1 - _$ /TRANSLATION_ATTRIBUTES=CONCEALED DKA1: WORK_DISK |
CREATE/NAME_TABLE コマンドは, TABLE1 というプロセス固有の論理名テーブルを作成します。
最初の ASSIGN コマンドにより,ファイル指定または装置名の論理名変換で, TABLE1 が最初に検索されます。これは,TABLE1 が,LNM$FILE_DEV という論理名に対する等価文字列の最初の項目であるためです。論理名 LNM$FILE_DEV は,装置またはファイル指定の変換時に,論理名テーブルの省略時の検索順序を決定します。
2番目の ASSIGN コマンドは,WORK_DISK という論理名を DKA1 という物理装置に割り当て,その論理名を TABLE1 に登録します。この論理名は,隠し属性を持っています。したがって,システム・メッセージには, WORK_DISKという論理名が表示されます。
| #7 |
|---|
$ ASSIGN/TABLE=LNM$PROCESS/TABLE=LNM$GROUP DKA0: SYSFILES $ SHOW LOGICAL SYSFILES "SYSFILES" = "DKA0:" (LNM$GROUP_000240) |
この ASSIGN コマンドには,矛盾する修飾子が含まれています。このような場合には,最後に指定された修飾子を使用します。したがって,SHOW LOGICAL コマンドからの応答は,論理名がグループ論理名テーブルに登録されたことを示しています。
| #8 |
|---|
$ ASSIGN/TABLE=LNM$GROUP 'F$TRNLNM("SYS$COMMAND")' TERMINAL
%DCL-I-SUPERSEDE, previous value of TERMINAL has been superseded
|
この例では,レキシカル関数 F$TRNLNM で論理名 SYS$COMMAND を変換し,その結果を使用して等価名 TERMINAL を定義しています。 ASSIGN コマンドのメッセージは,論理名 TERMINAL が既にグループ論理名テーブルに定義済みであったので,以前のエントリを上書きしたことを示しています。
このコマンドを LOGIN.COM ファイルで使用すれば,各ターミナル・セッション開始時に論理名 TERMINAL が再定義されます。現在のプロセスやそのサブプロセスでは,論理名 TERMINAL を使用して現在の端末にメッセージを出力できます。
| #9 |
|---|
$ ASSIGN DALLAS::DMA1: DATA |
論理名 DATA にリモート・ノード DALLAS 上の装置 DMA1 を割り当てています。これ以降の論理名 DATA の参照は,リモート・ノード上のディスクに対するものとなります。
| #10 |
|---|
$ CREATE AVERAGE.COM $ ASSIGN/USER_MODE SYS$COMMAND: SYS$INPUT $ EDIT/EDT AVERAGE.FOR $ FORTRAN AVERAGE $ LINK AVERAGE $ RUN AVERAGE 87 80 90 9999 $ EXIT [Ctrl/Z] $ @AVERAGE.COM |
CREATE コマンドでコマンド・プロシージャ AVERAGE.COM を作成しています。
コマンド・プロシージャ内の ASSIGN コマンドは,/USER_MODE 修飾子で一時的に SYS$INPUT の値を変更しています。EDT エディタが起動されると,ターミナルから入力を受け取ります。このようにして,プログラム AVRAGE.FOR を会話形式で作成または変更できます。
EDT を終了すると,ユーザ・モードの SYS$INPUT は削除され,元の定義に戻ります ( 入力ストリームはコマンド・プロシージャで与えられます )。したがって,プログラム AVERAGE への入力は,コマンド・プロシージャ内から入力されます。
1 つのキューからすべてのジョブを削除し,そのジョブを他の既存のキューに登録します。実行中のジョブに対しては影響しません。両方のキューに対する管理 (M) 権が必要です。
ASSIGN/MERGE ターゲット・キュー[:] ソース・キュー[:]
ターゲット・キュー[:]
ジョブを登録するキューの名前を指定します。ソース・キュー[:]
新しいキューに移されるジョブが登録されている,キューの名前を指定します。
ASSIGN/MERGEコマンドは,あるキューから待ち状態のジョブを削除して,別のキューに登録します。このコマンドは,ターゲット・キューおよびソース・キュー内の実行中のジョブには影響しません。ソース・キューで現在実行中のジョブは,そのキューで実行を終了します。このコマンドは,バッチ・キューにも使用できますが,一般にプリント・キューに使用します。ASSIGN/MERGE コマンドは,特にライン・プリンタの動作が不調な場合に便利です。 ASSIGN/MERGE コマンドを入力すると,既存のジョブを別の印刷装置に変更できます。ジョブの損失または中断なしにマージ操作を実行するには, STOP/QUEUE/NEXT コマンドでソース・キューを停止させます。次に,STOP/QUEUE/REQUEUE コマンドを入力して,ソース・キューに入っている現在のジョブをターゲット・キューに移動します (STOP/QUEUE/REQUEUE コマンドでジョブを移動できなかった場合は, STOP/QUEUE/RESET コマンドを使用してキューの制御を回復してください)。 STOP コマンドを入力してから,ASSIGN/MERGE コマンドを入力してください。
| #1 |
|---|
$ STOP/QUEUE/NEXT LPB0 $ STOP/QUEUE/REQUEUE=LPA0 LPB0 $ ASSIGN/MERGE LPA0 LPB0 |
STOP/QUEUE/NEXT コマンドは, LPB0 というキューにおいて他のジョブが実行されないようにします。 STOP/QUEUE/REQUEUE コマンドは, LPB0 で現在実行されているジョブを LPA0 というキューに再登録します。 ASSIGN/MERGEコマンドは,ジョブを LPB0 というプリント・キューから削除し, LPA0 プリント・キューに移動します。
論理キューを 1 つの実行キューに割り当てます。 ASSIGN/QUEUE コマンドは,プリント・キューまたはターミナル・キューに対してだけ使用できます。両方のキューに対する管理(M)権が必要です。
ASSIGN/QUEUE キュー名[:] 論理キュー名[:]
キュー名[:]
指定した論理キュー名が割り当てられる,実行キューの名前を指定します。論理キュー,総称キュー,バッチ・キューの指定はできません。論理キュー名[:]
指定した実行キューに割り当てられる論理キューの名前を指定します。
ASSIGN/QUEUE コマンドは,論理キューと実行キューの間に,1 対 1 対応を設定します。論理キューに登録されたジョブは,印刷するために,常に指定された実行キューに登録されます。ASSIGN/QUEUE コマンドを入力すると,論理キューは実行できません。
論理キューを初期化したら,ASSIGN/QUEUE コマンドを使用して論理キューを既存の実行キューと対応付けてください。論理キューを設定するには,次の手順に従ってください。
- INITIALIZE/QUEUE コマンドで,論理キューを初期化します (/START 修飾子は使用しないでください )。
- 既存の実行キューに論理キュー名を割り当てます。
- START/QUEUE コマンドで,論理キューを開始します。
論理キューに対して START/QUEUE コマンドを入力すると,ジョブを処理するために論理キューに送ることができます。
| #1 |
|---|
$ INITIALIZE/QUEUE/DEFAULT=FLAG=ONE/START LPA0 $ INITIALIZE/QUEUE TEST_QUEUE $ ASSIGN/QUEUE LPA0 TEST_QUEUE $ START/QUEUE TEST_QUEUE |
この例では,まず,LPA0 というプリント・キューが初期化され開始されます。LPA0 キューは,フラグ・ページが各ジョブの前に印刷されるように設定されています。2 番目の INITIALIZE/QUEUE コマンドは, TEST_QUEUE という論理キューを作成します。ASSIGN/QUEUE コマンドは, LPA0 というプリント・キューに TEST_QUEUE という論理キューを割り当てます。START/QUEUE コマンドは,論理キューを開始します。
| #2 |
|---|
$ INITIALIZE/QUEUE/START LPB0 |
この例では,論理キューが初期化されていないので, ASSIGN/QUEUE コマンドは必要ありません。プリント・キューが初期化されています。つまり,LPB0が,ライン・プリンタの名前です。このように,INITIALIZE/QUEUE/START コマンドを入力したあと, LPB0 にジョブを登録することができます。
現在処理中のプロセスから,指定したプロセスへ制御を移します (元のプロセスは,この後ハイバネートします)。使用している端末にメールボックスが対応づけられている場合は, ATTACH および SPAWN コマンドは使用できません。
ATTACH [プロセス名]
プロセス名
制御を移す親プロセス,またはサブプロセスの名前を指定します。ここで指定するプロセスは既に存在し,現在処理中のジョブの一部で,現在処理中のプロセスと同じ入力ストリームを共有していなければなりません。ただし現在のプロセス,または /NOWAIT 修飾子を使用して作成したサブプロセスは指定できません。プロセス名は,1 から 15 文字の英数字で指定します。指定したプロセスに接続できない場合は,エラー・メッセージが表示されます。
プロセス名 パラメータは,/IDENTIFICATION 修飾子と同時に指定できません。
ATTACH コマンドを使用すると,入力ストリームを別のプロセスに接続できます。また,1 つのサブプロセスから別のサブプロセス,または親プロセスに制御を移すことができます。ATTACH コマンドを入力すると,親プロセス,または "アタッチ元" プロセスはハイバネート状態になり,入力ストリームは指定した "アタッチ先" プロセスに接続されます。 ATTACH コマンドを使用すると,同一ジョブ内のサブプロセス (SPAWN/WAIT または別の ATTACH コマンドによりハイバネート状態になっている ) に,制御を移すことができます。現在処理中のプロセス,現在処理中のジョブの一部ではないプロセス,存在しないプロセスに制御を移すことはできません。これらのプロセスに制御を移そうとすると,エラー・メッセージが表示されます。
また SPAWN/WAIT コマンドと ATTACH コマンドを使用すると,作成したサブプロセスを終了しなくても親プロセスに制御を戻すことができます。詳細は,SPAWN コマンドの説明を参照してください。
/IDENTIFICATION=pid
端末制御を移すプロセスのプロセス ID(PID) を指定します。先行の 0 は省略できます。/IDENTIFICATION 修飾子は, プロセス名 と同時に指定できません。/IDENTIFICATION 修飾子を省略した場合は,プロセス名を指定しなければなりません。
| #1 |
|---|
$ ATTACH JONES_2 |
この例で ATTACH コマンドは,端末制御をサブプロセス JONES_2 に移しています。
| #2 |
|---|
$ ATTACH/IDENTIFICATION=30019 |
この例で ATTACH コマンドは,現在処理中のプロセスから, PID が 30019 であるプロセスに制御を移します。 /IDENTIFICATION 修飾子が指定されているので, プロセス名 は省略されています。
| 前へ | 次へ | 目次 | 索引 |