日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル >  V8.3ライブラリ

OpenVMS マニュアル


HP OpenVMS
DCL ディクショナリ


前へ 次へ 目次 索引


I64 イメージの場合 (つまり I64 形式のファイル), CRC チェックサムが計算され,以下の内容を含む追加情報も SYS$OUTPUT に出力されます。

  • 完全なファイル名とイメージ・セグメントに対するチェックサム

  • ヘッダのチェックサムとイメージ全体のチェックサム

出力値は 16 進数表記で表示されます。 DCL シンボル CHECKSUM$CHECKSUM にも,結果が 16 進表記で格納されます。

Alpha および VAX イメージでは,XOR チェックサムが計算され,以下に示す追加情報が SYS$OUTPUT に出力されます。

  • 完全なファイル名とイメージ・セクションに対するチェックサム

  • ヘッダのチェックサムとイメージ全体のチェックサム

チェックサム値は 16 進表記で出力されます。しかし,DCL シンボル CHECKSUM$CHECKSUM に格納される結果は,符号なしの 10 進表記です。

注意

Alpha および VAX のイメージでは,DCL シンボル CHECKSUM$CHECKSUM のチェックサム値が 10 進になっており,以前のチェックサム・ツールとの互換性が保たれています。

/IMAGE 修飾子を指定すると,省略時のファイル・タイプは .EXE となります。 I64 イメージでは,この修飾子を指定すると,/SHOW 修飾子に対するキーワード値 HEADERS と SEGMENTS が,特に指定しなくても有効になります。

/OBJECT

すべての I64 オブジェクト・バイトの CRC チェックサムを計算します。

/OBJECT 修飾子では,ELF-64 オブジェクト構造に従って,オブジェクト・バイトだけがチェックサムの対象となります。言語プロセッサのバージョンや生成日といった可変データは除外されます。

以下の内容を含む追加情報が SYS$OUTPUT に出力されます。

  • 指定された入力ファイルの完全なファイル名

  • 各オブジェクト・セクション,ヘッダ,オブジェクト全体に対するチェックサム

出力されるチェックサム値は,16 進表記です。 DCL シンボル CHECKSUM$CHECKSUM に格納される結果も,16 進表記です。

/OBJECT 修飾子では,省略時のファイル・タイプは .OBJ となります。また,/SHOW 修飾子に対するキーワード値 HEADERS と SECTIONS が,特に指定しなくても有効になります。

この修飾子は,VAX プラットフォームでは無効です。 Alpha プラットフォームでは,/I64 修飾子と同時に使用した場合にだけ有効です。

/OUTPUT[=ファイル指定]



/NOOUTPUT

/OUTPUT 修飾子は,コマンドの出力をどこに送るかを制御します。 /NOOUTPUT 修飾子を指定すると,出力は行われません。

/OUTPUT およびファイル指定 (/OUTPUT=ファイル指定) を指定すると,出力は現在の出力装置 SYS$OUTPUT ではなく,指定されたファイルに書き込まれます。この修飾子を指定しないか,ファイルを指定せずに /OUTPUT 修飾子を指定した場合は,出力は SYS$OUTPUT に送られます。

/OUTPUT 修飾子を使用しても,結果 (つまり,DCL シンボル CHECKSUM$CHECKSUM) には影響しません。

/SHOW=(オプション[,...])

どのチェックサムと追加情報を装置に出力するかを制御します。

この修飾子に対するオプションは以下のとおりです。

  • ALL --- 該当するオプションをすべて設定するが,以下の制限がある。

    • ファイル・チェックサムの場合,DATA キーワードだけが指定可能

    • イメージのチェックサムの場合,すべてのキーワードが指定可能

    • オブジェクトのチェックサムでは,SEGMENT キーワードは指定不可

  • DATA --- 完全なファイル名とファイル・チェックサムを出力する。互換性のため,このオプションは /FILE で使用可能。

  • EXCLUDED --- イメージまたはオブジェクトのチェックサムから除外されたデータをフォーマットする。

  • HEADERS --- すべての I64 ヘッダのチェックサムを出力する。このオプションは,/IMAGE と /OBJECT では省略時の設定である。

  • SECTIONS --- すべての ELF-64 セクションのチェックサムを出力する。このオプションは,/OBJECT では省略時の設定である。

  • SEGMENTS --- すべての ELF-64 プログラム・セグメントのチェックサムを出力する。このオプションは,/IMAGE では省略時の設定である。

/SHOW 修飾子は,VAX プラットフォームでは無効です。

/VAX

VAX タイプのチェックサムを計算します。 I64 または Alpha システムで,/IMAGE を使用し,非 VAX システム上での VAX イメージのチェックサムを計算する場合にだけ有用です。この修飾子は,VAX プラットフォームでは無効です。




#1


CHECKSUM/IMAGE コマンドの出力は,I64 プラットフォームと Alpha プラットフォームで異なる結果となります。イメージの構造が違うため,チェックサムに対する名前が変わります。

  • Alpha のチェックサムでは,セクション番号は BLISS 定数 %D'1' として出力されるのに対し,I64 のチェックサムは 10 進数として出力される。

  • Alpha のチェックサムでは,チェックサムは BLISS 定数 %X'6C5404CB' として出力されるのに対し, I64 のチェックサムは DCL スタイルの 16 進数で出力される。

  • Alpha の DCL シンボルは符号なしの 10 進数値であるのに対し, I64 の DCL シンボルは 16 進数値である。

Alpha システムでの例

#2

$ CHECKSUM/IMAGE HELLO.EXE
 
file DISK$USER:[JOE]HELLO.EXE;10 
image section %D'1' checksum is %X'6C5404CB' 
image section %D'2' checksum is %X'E29D6A3A' 
image section %D'3' checksum is %X'114B0786' 
image header checksum is %X'00000204' 
checksum of all image sections is %X'9F826977' 
 
$ SHOW SYMBOL CHECKSUM$CHECKSUM
 
CHECKSUM$CHECKSUM = "2676124023"

I64 システムでの例

#3

$ CHECKSUM/IMAGE FOOBAR.EXE
 
File DISK$USER:[JOE]FOOBAR.EXE;3 
Checksum program segment 0: %X18E293D7 
Checksum program segment 1: %XEFBCE000 
Checksum program segment 2: %XA6D02DD5 
Checksum program segment 3: %X30130E3E 
Checksum dynamic segment %X0F704080 
Elf header checksum: %X7A6AC80F 
Elf program header checksum: %XBF6B41D8 
Elf section header checksum: %X6C770CF6 
Elf (object/image) checksum: %X2EEE7726 
 
$ SHOW SYMBOL CHECKSUM$CHECKSUM
 
CHECKSUM$CHECKSUM = "2EEE7726"
 




CLOSE

OPEN コマンドによりオープンされているファイルをクローズし,関連する論理名を解除します。



形式

CLOSE 論理名[:]




パラメータ



論理名[:]

OPEN コマンドによりファイルがオープンされた時に,そのファイルに割り当てられた論理名を指定します。



説明

コマンド・レベルでの読み込みまたは書き込みのためにオープンされているファイルは,CLOSE コマンドで終了するまで,またはそのプロセスが終了するまで,オープンされています。ファイルをオープンしたコマンド・プロシージャが,オープンしたファイルをクローズせずに終了すると,ファイルはオープンなままです。コマンド・インタプリタが自動的にそのファイルをクローズさせることはありません。



修飾子



/DISPOSITION=オプション

ファイルをクローズするときにどのような操作を実行するかを指定します。オプションは,次のとおりです。

DELETE ファイルを削除する。
KEEP (default) ファイルを保存する。
PRINT ファイルをプリントする。
SUBMIT ファイルをキューに登録する。



/ERROR=ラベル

ファイルをクローズする時にエラーが発生した場合に,制御を移すコマンド・プロシージャ内のラベルを指定します。 ON コマンドに指定されている動作よりも優先されます。エラーが発生した時に,指定したラベルに正しく制御が渡されると,グローバル・シンボル $STATUS にエラーの種類を示すコードが設定されます。

/LOG (省略時の設定)



/NOLOG

DCL でオープンされていないファイルをクローズしようとすると,警告メッセージを生成します。 /ERROR 修飾子を指定した場合には,/LOG 修飾子は無効になります。 DCL でファイルがオープンされていない場合には,エラー分岐が実行され,メッセージは表示されません。





#1

$ OPEN/READ INPUT_FILE   TEST.DAT 
$ READ_LOOP: 
$ READ/END_OF_FILE=NO_MORE  INPUT_FILE  DATA_LINE 
   .
   .
   .
$ GOTO READ_LOOP 
$ NO_MORE: 
$ CLOSE INPUT_FILE 
 

OPEN コマンドは,TEST.DAT というファイルをオープンし,そのファイルに INPUT_FILE という論理名を割り当てます。 READ コマンドの /END_OF_FILE 修飾子は,ファイルの最後に到達したときに,コマンド・インタプリタが NO_MORE というラベルの行に制御を渡すことを要求しています。CLOSE コマンドは,入力ファイルをクローズします。

#2

$ @READFILE
[Ctrl/Y]
$ STOP
$ SHOW LOGICAL/PROCESS
   .
   .
   .
  "INFILE" = "_DB1"
  "OUTFILE" = "_DB1"
$ CLOSE INFILE
$ CLOSE OUTFILE
 

CTRL/Y は,READFILE.COM というコマンド・プロシージャの実行に割り込みをかけます。そのあと,STOP コマンドが,プロシージャを停止します。 SHOW LOGICAL/PROCESS コマンドは,プロセス論理名テーブルに現在登録されている名前を表示します。このコマンドで表示される名前には,READFILE.COM プロシージャの中で, OPEN コマンドによって割り当てられた INFILE と OUTFILE という論理名も含まれています。

CLOSE コマンドは,これらのファイルをクローズし,論理名の割り当てを解除します。




CONNECT

ユーザが使用している物理端末を,他のプロセスに接続されている仮想端末に接続します。

ユーザは,自分の利用者識別コード(UIC) を持つプロセスに接続している仮想端末に接続しなければなりません。他の物理端末がその仮想端末に接続することはできません。




形式

CONNECT 仮想端末名




パラメータ



仮想端末名

ユーザが接続する仮想端末の名前を指定します。仮想端末名は,文字 VTA で始まります。プロセスに接続されている仮想端末の名前を確認するには, SHOW USERS コマンドを使用します。



説明

サブプロセスを作成する SPAWN コマンドや,サブプロセスに接続する ATTACH コマンドとは異なり, CONNECT コマンドは別のプロセスに接続します。

通信回線を使用しているシステムにログインしている場合,CONNECT コマンドは便利です。回線上にノイズがありキャリア・シグナルを失った場合,ユーザのプロセスは終了しません。再度ログインした後に元のプロセスに再接続し, 2 つ目のプロセスからログアウトすることができます。

CONNECT コマンドを使用するためには, OpenVMS Alpha システム上で System Manager ユーティリティ (SYSMAN),および OpenVMS VAX システム上で System Generation ユーティリティ (SYSGEN) で,仮想端末機能が許可されていなければなりません。

利用者が使用しているシステムで仮想端末機能が許可されている場合は, SET TERMINAL/DISCONNECT/PERMANENT コマンドを使用して,特定の物理端末の仮想端末属性を許可することができます。この属性を許可すると,ある利用者がその物理端末にログインする時に仮想端末が作成されます。物理端末は仮想端末に接続され,仮想端末はプロセスに接続されます。

新しい仮想端末に対しては,まず TTY_DEFCHAR2 システム・パラメータの TT2$V_DISCONNECT ビットを設定し,システムを再ブートする必要があります。 ttdriver を使用して仮想装置 VTA0 を作成すると,これらの処理が行われます。次の例を参照してください。Alpha システムの場合は,次のように入力します。


$ RUN SYS$SYSTEM:SYSMAN 
SYSMAN> IO CONNECT/NOADAPTER/DRIVER=SYS$LOADABLE_IMAGES:SYS$TTDRIVER VTA0: 

VAX システムの場合は,次のように入力します。


$ RUN SYS$SYSTEM:SYSGEN 
SYSGEN> CONNECT /NOADAPTER/DRIVER=TTDRIVER VTA0: 

/NOLOGOUT 修飾子を指定していない場合は,物理端末と仮想端末との接続が切断されると,ユーザは現在のプロセスからログアウトしてしまいます ( またこのプロセスで実行中のイメージは停止します )。

/NOLOGOUT 修飾子を指定していると,プロセスは仮想端末に接続されたままです。このプロセスでイメージを実行している場合は,プロセスが端末からの入力を必要とする,または端末に書き込みを行おうとするまで,イメージは引き続き実行されます。プロセスが端末からの入力を必要とする時,または端末に書き込みを行おうとする時は,物理端末が仮想端末に再接続するまで,プロセスは待ち状態になります。

仮想端末を使用していなくても,仮想端末に接続することができます。ただし現在のプロセスをログアウトするためには, CONNECT コマンドに /LOGOUT 修飾子を指定しなければなりません。仮想端末から他の仮想端末に接続する場合は, /NOLOGOUT 修飾子を指定すると,現在のプロセスも残すことができます。




修飾子



/CONTINUE



/NOCONTINUE (省略時の設定)

他のプロセスに接続する直前に,現在のプロセスで CONTINUE コマンドを実行するかどうかを制御します。この修飾子を指定すると,他のプロセスに接続した後も,割り込みをかけられたイメージの処理が続行されます。

/CONTINUE 修飾子を /LOGOUT 修飾子と同時に指定することはできません。

/LOGOUT (省略時の設定)



/NOLOGOUT

仮想端末を使用して他のプロセスに接続する時に,現在のプロセスをログアウトします。

仮想端末に接続していないプロセスから CONNECT コマンドを実行する場合は, /LOGOUT 修飾子を指定しなければなりません。 /LOGOUT 修飾子を指定しないと,DCL はエラー・メッセージを表示します。

/LOGOUT 修飾子を /CONTINUE 修飾子と同時に指定することはできません。






#1

$ RUN AVERAGE
[Ctrl/Y]
$ CONNECT/CONTINUE VTA72

RUN コマンドを使用して,イメージ AVERAGE.EXE を実行します。この RUN コマンドは,仮想端末に接続されている端末から発行しています。次に Ctrl/Y を押して,イメージに割り込みをかけます。その後 CONNECT コマンドに /CONTINUE 修飾子を指定します。これにより CONTINUE コマンドが発行され,イメージの実行が継続され,ユーザは他の仮想端末に接続します。ユーザは後で元のプロセスに再度接続することができます。

#2

$ SHOW USERS/FULL
     VAX/VMS User Processes at 22-DEC-2001 14:11:56.91 
   Total number of users = 51,  number of processes = 158 
 
Username  Node   Process Name    PID     Terminal 
KIDDER   BUKETT  KIDDER        29A0015E  FTA3: 
KIDDER   BUKETT  _FTA4:        29A0015F  FTA4: 
KIDDER   RACEY1  KIDDER        05800062  FTA5: 
KIDDER   RACEY1  DECW$MWM      0580005D  MBA44:   Disconnected 
KIDDER   RACEY1  DECW$SESSION  05800059 
KIDDER   RACEY1  VUE$KIDDER_2  0580005E  (subprocess of 05800059) 
KIDDER   RACEY1  VUE$KIDDER_3  0580005F  MBA51:   Disconnected 
KIDDER   RACEY1  VUE$KIDDER_4  05800060  MBA53:   Disconnected 
SMITH    BUKETT  SMITH         29A002C1  FTA7: 
SMITH    BUKETT  SMITH_1       29A006C2  (subprocess of 29A002C1) 
SMITH    BUKETT  SMITH_2       29A00244  (subprocess of 29A002C1) 
SMITH    HAMLET  SMITH         24800126  FTA6: 
SMITH    HAMLET  DECW$BANNER   24800155  (subprocess of 24800126) 
SMITH    HAMLET  DECW$MWM      2480011F  MBA170:  Disconnected 
SMITH    HAMLET  DECW$SESSION  2480011D  FTA5: 
. 
. 
.
 
$ CONNECT VTA273
  SMITH       logged out at 22-DEC-2001 14:12:04.53
$

この例は,キャリア・シグナルを失った後,元のプロセスに再度接続する方法を示しています。まず再度ログインして新しいプロセスを作成します。ログインしたら,SHOW USERS/FULL コマンドを実行して,元のプロセスの仮想端末名を確認します。次に CONNECT コマンドを実行して,元のプロセスに関連づけられている仮想端末に接続します。特に修飾子を指定していないので, CONNECT コマンドを発行したプロセスは,ログアウトします。

元のプロセスに再度接続したら,キャリア・シグナルを失った時に実行していたイメージの実行を続けます。この例では,接続が切断された時,ユーザ SMITH は会話型レベルでした。




CONTINUE

Ctrl/Y または Ctrl/C を押すことにより割り込まれた DCL コマンド,プログラム,コマンド・プロシージャの実行を再開します。他のイメージやコマンド・プロシージャを起動した後では,再開できません。



形式

CONTINUE




説明

CONTINUE コマンドを使用すると,Ctrl/Y または Ctrl/C を押して中断させたイメージ処理,あるいはコマンド・プロシージャを再開できます。別のイメージを実行するコマンドを入力した場合,またはコマンド・プロシージャを起動した場合には,イメージの実行を再開できません。ただし,別のイメージを実行しないコマンドの後には,CONTINUE を使用できます。これらのコマンドのリストについては,『OpenVMS ユーザーズ・マニュアル』を参照してください。

CONTINUE コマンドは,「 C 」1 文字に短縮できます。

CONTINUE コマンドは,コマンド・プロシージャで,IF コマンドまたは ON コマンドのターゲット・コマンドとして使用できます。 CONTINUE コマンドは,GOTO コマンドのターゲット・ラベルの後で使用しても,ターゲット・コマンドになります。また,CONTINUE コマンドは,VAX Fortran PAUSE 文または VAX COBOL-74 STOP リテラル文を実行したプログラムの処理再開にも使用できます。






#1

$ RUN  MYPROGRAM_A
[Ctrl/Y]
$ SHOW TIME
  14-DEC-2001 13:40:12
$ CONTINUE
 

RUN コマンドは,MYPROGRAM_A というプログラムを実行します。プログラム実行中に CTRL/Y を押すと,イメージに割り込みがかけられます。 SHOW TIME コマンドで,現在の日付と時刻を表示しています。このあとの CONTINUE コマンドは,MYPROGRAM_A というイメージの実行を再開します。

#2

$ ON SEVERE_ERROR THEN CONTINUE 

このコマンド・プロシージャ文は,コマンドやプログラムの実行により警告状態,エラー状態,重大なエラー状態を示す値が戻された場合でも,プロシージャの実行を継続することをコマンド・インタプリタに指示します。この ON 文は,エラーまたは重大なエラーが発生した際にはプロシージャを終了するという省略時の動作を無効にします。


前へ 次へ 目次 索引



         印刷用画面へ

プライバシー 本サイト利用時の合意事項