[ 前のページ ]
[ 次のページ ]
[ 目次 ]
[ 索引 ]
[ DOC Home ]
プリンタを使用する場合,またはバッチ処理を行う場合は,キュー を使用する必要があります。キューを使用すると,プリントおよびバッチ処理の要求を登録しておき, 資源が使用できるようになれば,登録しておいたユーザのジョブをプリントしたり, バッチ処理したりできます。
プリンタをセットアップする場合には,キュー・マネージャとキュー・ データベースをどのように操作するか,またOpenVMSでどのようにこれらを作成するかについて理解する必要があります。 これらについては第12章で説明しています。
本章では,次の作業について説明します。
作業 | 節 |
---|---|
小型システム上のキュー管理 | 第13.1.1項 |
バッチ・キュー環境の設計 | 第13.2.1 項 |
出力キュー環境の設計 | 第13.2.2項 |
キュー設定の計画 | 第13.3 節 |
キューの作成と起動 | 第13.4節 |
再ブート時の実行キューの再起動 | 第13.5節 |
キュー・ オプションの使用 | 第13.6節 |
フォームの使用と作成 | 第13.6.7項 |
キュー管理コマンドの使用 | 第13.7.1項 |
ジョブの管理 | 第13.7.2 項 |
キューに関する問題の解決 | 第13.8節 |
さらに,次の項目について説明します。
項目 | 節 |
---|---|
キュー・ プロセス | 第13.1 節 |
キューの種類 | 第13.1.2項 |
自動起動機能 | 第13.1.3 項 |
キュー・アクセス制御オプション | 第13.6.1項 |
ジョブ保持 | 第13.6.2項 |
キュー特性 | 第13.6.3項 |
バッチ処理オプション | 第13.6.4項 |
ジョブ・スケジューリング・ オプション | 第13.6.5 項 |
バナー・ページ | 第13.6.6項 |
フォームとストック | 第13.6.7 項 |
ページと行のあふれ | 第13.6.7.8項 |
初期改ページ | 第13.6.7.9 項 |
装置制御ライブラリ | 第13.6.8項 |
DCLのSUBMITまたはPRINTコマンドを入力する,またはアプリケーションを介してキューに登録されたバッチ・ ジョブまたはプリント・ジョブは,キューに送られて処理を待ちます。 ジョブのタイプ,ファイル名,キュー名, 特殊オプションを含めた,ユーザのキュー要求についての情報は,キュー・ マネージャに送られます。キュー・マネージャは該当する情報をキュー・ データベースに記録し,実際にジョブをプリントまたは実行するときにデータベースから読み出します。
また,キュー・マネージャはジョブを適切なキューに登録して,ジョブの処理の順番を待ちます。1 台のプリンタが一度にプリントできるプリント・ ジョブは1つだけですが,バッチ・キューのバッチ・ジョブは一度に複数実行することができます。
キュー・マネージャ,キュー・データベース,バッチ・キュー,プリント・ シンビオントを含めたプリント・キューの操作については,第12章を参照してください。
キューで利用できる機能の多くは,ワークステーションなどのように最低限のキューしか必要としない小型システムでは必要ありません。 小型システムをご使用の場合には, 次の節をお読みください。
項目 | 節 |
---|---|
簡単なバッチ・ キュー構成 | 第13.2.1.1 項 |
簡単な出力キュー構成 | 第13.2.2.1項 |
キューの設定と起動 | 第13.3節 |
キュー・オプションの選択と指定 | 第13.6 節 |
キューの管理 | 第13.7.1項 |
キューのジョブの管理 | 第13.7.2 項 |
バッチ・キューとプリント・キューは,一般的に次の2つのクラスに分けることができます。
クラス | 説明 |
---|---|
実行キュー | 処理を待つバッチまたはプリント・ ジョブを受け付けるキュー。 |
汎用キュー | 適切な実行キューが使用可能になるまでジョブを保留するキュー。 実行キューが使用可能になると, キュー・マネージャは,その使用可能な実行キューにジョブを再登録する。 |
以降の項では,実行キューと汎用キューについてさらに詳しく説明します。
実行キューの各タイプを説明します。
オペレーティング・システムは, PRTSMBという標準プリント・シンビオントを提供します。 このシンビオントは,ハードコピー装置でファイルを印刷します。LAT のプリント・シンビオントとLATSYMは,LAT ポートに接続されている出力装置でファイルを印刷します。この処理や,OpenVMS のバッチまたはプリント・キュー登録システムが管理する他のファイル処理に対して, シンビオントを設定することもできます。 詳細は『OpenVMS Utility Routines Manual』を参照してください。
出力実行キューの種類は次のとおりです。
タイプ | 説明 |
---|---|
プリンタ実行キュー | シンビオントを使用してプリンタに出力を行う。 |
ターミナル実行キュー | シンビオントを使用してターミナルに出力を行う。 |
サーバ実行キュー | ユーザが変更,または作成したシンビオントを使用して, キューのジョブに属するファイルを処理する。 |
出力実行キューの作成では,プリンタ,ターミナル,サーバのいずれかの実行キュー・ タイプを指定し,それに対応付けるシンビオントを指定します。 ただし,キューを起動したとき,指定されたキュー・タイプが装置のタイプと一致しない場合は, シンビオント・プロセスはキュー指定を無効にすることができます。
オペレーティング・システムに用意されている標準のシンビオントは, 制御対象がプリンタかターミナルのどちらであるのか判定し,その結果をキュー・ マネージャに伝えます。そしてキュー・マネージャは, 必要ならば出力実行キューのタイプ指定を変更します。取り決めでは, プリンタに出力を行わないユーザ作成シンビオントは,キューをサーバ・ キューと定義します。
次に汎用キューの種類を説明します。
ノードのシャットダウン時,汎用バッチ・キューが自動的に停止することはありません。 したがって,ノードを再ブートするときに汎用バッチ・ キューを再起動する必要はありません。
ノードのシャットダウン時,汎用出力キューが自動的に停止することはありません。 したがって,ノードを再ブートするときに汎用出力キューを再起動する必要はありません。
論理キューは,ASSIGN/QUEUEコマンドに指定された実行キューにジョブを転送します。 論理キューの設定については,第13.7.1.10項を参照してください。
可能なかぎり自動起動型のキューを使用することをおすすめします。 自動起動機能は,実行キューの起動を簡略化して, できるだけキューがいつでも利用できるようにします。自動起動機能によって可能なことは次のとおりです。
自動起動フェイルオーバは,特にLATキューで役に立つ。LATプリンタは, 一般に複数のシステムやOpenVMS Clusterシステムのユーザで共有されているので,LAT キューが使用できないと多数のユーザが影響を受ける。 常に利用できる状態を保つため,キューがフェイルオーバできるノードのリストをLAT キューに設定しておく。これによって,あるノードが利用できなくなってもキューは稼動し続ける。
自動起動型キューを使用するためには,次の作業を実行する必要があります。
作業 | 説明 |
---|---|
1 | キューを自動起動キューとして作成し,オプションとしてフェイルオーバ・ リストを指定する。 |
2 | 自動起動のためにキューをアクティブにする。 この操作はキューを作成するとき,またはキューを作成した後で実行できる。 |
3 | ノードで自動起動機能を有効にする。
この操作は,キューを作成する前または作成した後に実行できる。
ノードで自動起動機能を有効にすると,キュー・マネージャはノードで実行可能なすべての停止されていたキューとアクティブ自動起動キューを自動的に起動する。 そのノードにフェイルオーバされた自動起動キューも自動的に起動される。 |
詳細は第13.3節を参照してください。
この後の節では,バッチ・キュー環境および出力キュー環境の設計方法について説明します。
1つのキュー,複数のキュー,またはOpenVMS Cluster環境に対してバッチ・ キューを設計できます。次の表で参照している各節では,バッチ処理環境を設計するのに役立つ構成の例を図で示しています。 実際の構成では, ここに示した複数の例から適切な要素を組み合わせて使用できます。
構成 | 参照箇所 |
---|---|
バッチ処理が少なく,キューは1つでよい。 | 第13.2.1.1項 |
バッチ処理が大量にあり,複数のキューが必要である。または, 特殊なバッチ処理を行うため独自のキューが必要である。 | 第13.2.1.2項 |
OpenVMS Cluster環境である。 | 第13.2.1.3項 |
キューができるだけ常時使用可能な状態になっている必要がある。 | 第13.1.3 項 |
おもに会話型処理をサポートするスタンドアロン・システムの場合は,この単純な構成を使用できます。 この構成は,必要とされるバッチ処理が限定されている場合に適しています。
図 13-1は1つの省略時のバッチ・ キューを示しています。
SUBMITコマンドでバッチ・ジョブがキュー登録された場合,省略時の設定では, ジョブはSYS$BATCHというキューに登録されます。スタンドアロン型システムで省略時のキューを1 つだけ設定する場合,キューの名前はSYS$BATCH にしてください。
ユーザのバッチ処理の要件が大きかったり,あるいは特殊な処理の要件がある場合は, 複数のキューを設定しなければならないことがあります。そうした場合は, バッチ・キューのジョブに性能オプションと資源オプションを指定することによって, キューをカスタマイズし,特殊なジョブに対応することができます。
図 13-2は複数のキューの構成例であり, それぞれのキューが特定の種類のバッチ・ ジョブを処理するためにカスタマイズされています。
図 13-2の例のSYS$BATCHは省略時のキューです。 通常のバッチ・ジョブはこのキューに登録されます。FASTキューは, メモリからスワップされることがない優先順位の高いジョブを実行します。SLOW は,優先順位の低いジョブを処理するためのバックグラウンド・ キューです。これらは物理メモリを大量に必要とする大きいジョブです。
キューの基本優先順位とスワップを有効にするか無効にするかの変更は, 慎重に行ってください。ちょっと変更しただけでも,バッチ処理と会話型処理性能に多大な悪影響を与えることがあります。 たとえば,キューの基本優先順位を1 増やしただけでも,性能に多大な影響があることがあります。
バッチ・キューに対するこれらのオプションの指定方法については,第13.6.4項で説明します。
第13.1.2項で説明したように,汎用キューを使用してOpenVMS Cluster のノード間でバッチ処理を分散させることにより, OpenVMS Cluster環境で資源利用のバランスを取ることができます。
図 13-3は,そうした分散を行うときの代表的な構成例を表したものです。
図 13-3の例に描かれているクラスタ全体の汎用バッチ・ キューSYS$BATCHは,OpenVMS Clusterのすべてのノードの実行キューにジョブを送り込むよう設定されています。 そして,そこに登録されたジョブの実行キューの送り込みは,SYS$BATCH がジョブを送り込むすべての実行キューについて, ジョブ制限量に対する実際の実行ジョブの比率が最小になるように行われます。
たとえば,実行キューのMOE_BATCH,LARRY_BATCH,およびCURLY_BATCHのジョブ制限量がすべて5 であると仮定します。MOE_BATCHとLARRY_BATCHが4 つのジョブを実行していて,CURLY_BATCHが1つのジョブしか実行していない場合, 汎用キューSYS$BATCHは次のジョブをCURLY_BATCHに送り込みます。
OpenVMS Clusterのキュー構成については,『OpenVMS Cluster Systems』を参照してください。 汎用キューの作成方法については, 第13.4.3項を参照してください。
次の構成例を使用して,バッチ処理環境を設計してください。ユーザの構成は, これらの例の中からいくつかの要素を組み合わせて設計できます。
設定 | 参照箇所 |
---|---|
限定された用途で1つのプリンタキューがあればよい | 第13.2.2.1項 |
異機種のプリンタを使用する | 第13.2.2.2項 |
PostScriptプリントを行う | 第13.2.2.3 項 |
複数のシステムからプリンタにアクセスする | 第13.2.2.4 項 |
同一種のプリンタを複数台使用する | 第13.2.2.5 項 |
OpenVMS Cluster環境である | 第13.2.2.6 項 |
出力キューを使用せずに直接プリンタに出力を行うアプリケーションを使用する | 第13.2.2.7項 |
分散プリントを行う | 第13.2.2.8 項 |
図 13-4は,簡単なキュー構成について説明したものです。 この構成は,プリンタが1台のスタンドアロン・システムに適した構成です。
PRINTコマンドでプリント・ジョブがキュー登録された場合,省略時の設定では, ジョブはSYS$PRINTというキューに登録されます。スタンドアロン型システムで省略時のプリンタ・ キューを1つだけ設定する場合,キューの名前はSYS$PRINT にしてください。
LN03プリンタ,LA210プリンタ,LP27ライン・プリンタというように,複数の異種プリンタを使用している場合は, それぞれのプリンタ別にキューを設定する必要があります。 これは,省略時のフォームや装置制御ライブラリなど, それらのキューで使用するオプションが,たいていのプリンタごとに異なるためです。 たとえば,ライン・プリンタの省略時のフォームの幅が132 カラムであるの対し,LN03プリンタの省略時のフォームの幅が80 カラムということがあります。
図 13-5は,こうしたケースでの出力実行キューの構成例です。
オペレーティング・システムには,PostScriptプリントをサポートするソフトウェアが含まれていません。PostScript プリントを行うためには,次のいずれかが必要です。
詳細は弊社のサポート担当者にお問い合わせください。
複数のシステムまたは複数のOpenVMS Cluster環境間でプリンタを共用する場合は, ターミナル・サーバのLATポートにプリンタを接続します。図 13-6 は,ターミナル・サーバに遠隔プリンタを接続したときの出力キューの構成例を表したものです。
通常,LATプリンタは複数のシステムまたは複数のクラスタのユーザの間で共用されるため,LAT キューが使用不能になったときに影響を受けるユーザの数は多くなります。 このため,できるだけ常時使用可能になるよう,LAT キューはフェイルオーバ・リストを使用して,自動起動型として設定することをおすすめします。
自動起動型キューの作成方法については,第13.4.2 項を参照してください。
ライン・プリンタ3台というように,同一種のプリンタを複数台使用する場合は, 汎用キューを使用して,プリンタ間のプリント負荷のバランスを取るべきです。 図 13-7は,そうしたキューの構成例を表しています。
汎用キューの作成方法については,第13.4.3項で詳しく説明します。
図 13-8は,OpenVMS Cluster用の代表的な出力キュー構成例を表しています。 クラスタのキュー構成については,『OpenVMS Cluster Systems』を参照してください。
出力キューを使用せずにプリンタに直接出力を行うアプリケーションを使用する場合, またはLATキューを使用する場合は,プリンタをスプールすることをおすすめします。 プリンタをスプールすると,アプリケーション・ プログラムは中間記憶装置に出力を書き込むため,プログラムの動作中でも他のユーザがプリンタを使用することができます。
図 13-9は,スプールされたプリンタを使用するときの出力キュー構成を表したものです。
スプールされたプリンタについては,第7.8.2.1 項を参照してください。
OpenVMSバッチおよびプリント・キュー登録システムを使用すると,ローカル・ システムやOpenVMS Clusterに接続された出力装置でファイルをプリントすることができます。
これに対しDQS (Distributed Queuing System:分散キュー・システム) は,OpenVMSのキュー登録システムのプリント機能を分散環境に広げるレイヤード製品です。DQS を使用して,ネットワーク上の遠隔ノードに接続されている出力装置でファイルをプリントすることができます。
このDQSについての詳細は,DQSの資料を参照するか,弊社のサポート担当者にお問い合わせください。
ジョブをキューに登録するためには,キューを作成する必要があります。 つまり,ジョブが処理を開始できるようにキューを起動する必要があります。 キューを設定し起動するには,次の順序で作業を行ってください。
ステップ | 作業 | 参照箇所 |
---|---|---|
1 | キュー・マネージャの起動, キュー・データベースの作成を確認する。 | 第12.5節 |
2 | 出力キューを使用する場合は,出力装置を設定して, ブート時に装置を設定するコマンド・プロシージャを作成する。 | 第13.3.1 項 |
3 | フォーム, 特性,バナー・ページなど,キュー・オプションを使用する場合には, これらのオプションの指定に必要な修飾子を決定する。さらに, キューを作成する前に使用するフォームと特性を定義する(この手順の説明は長くなるため, ステップ5を説明した節の後に,対応する節が設けられている) 。 | 第13.6 節 |
4 | キューを作成して, 起動する。 | 第13.4 節 |
5 | ブートのたびに必要な設定作業を実行するコマンド・ プロシージャを作成する。 | 第13.5節 |
出力キューを作成するためには,それらキューが出力を送る装置を設定しておく必要があります。
プリンタをスプールするためには,SET DEVICE/SPOOLEDコマンドを使用する。 詳細は第7.8.2.1項を参照すること。
システム構成が単純な場合,そうしたコマンドは,SYSTARTUP_VMS.COM に登録する方法もあります。ただし大量のコマンドが必要になる場合は,DEVICE_SETUP.COM といった名前のコマンド・プロシージャ・ファイルを別に作成し, それをSYSTARTUP_VMS.COMから実行すること。コマンド・ プロシージャ内において,SET TERMINALコマンドは,同じ出力装置のSET DEVICE/SPOOLED コマンドより前に置く必要がある。
$ SET PRINTER/TAB/PAGE=66/WIDTH=132/LOWER/FF/NOCR - _$ /FALLBACK/NOWRAP/NOTAB LPA0:【1】 $ SET TERMINAL/SPEED=9600/PAGE=100/WIDTH=200/DEVICE=LN03/NOBROADCAST - _$ /NOECHO/HARDCOPY/NOTYPE_AHEAD/NOFORM/NOWRAP/PASTHRU/PERMANENT LTA3331:【2】 $ SET DEVICE/SPOOLED=(LPA0,SYS$SYSDEVICE) LPA0:【3】 $ SET DEVICE/SPOOLED=(LN03_1,SYS$SYSDEVICE) LTA3331:【4】
この例では,次の操作を実行します。
キューは次の順序で作成します。
キューの作成と起動についての詳細は,以降の項を参照してください。
作業 | 参照箇所 |
---|---|
自動起動型実行キュー | 第13.4.1 項 |
非自動起動型実行キュー | 第13.4.2項 |
汎用キュー | 第13.4.3 項 |
自動起動実行キューを作成して起動するには,次の操作を実行します。
$ INITIALIZE/QUEUE/START/DEFAULT=(NOBURST,FLAG=ALL,TRAILER=ONE) - _$ /AUTOSTART_ON=(LILITH::LPA0:,SMITTN::LPA0:) LPA0【1】 $ INITIALIZE/QUEUE/START/DEVICE=TERMINAL/ - _$ /AUTOSTART_ON=(LILITH::LTA3331:,SMITTN::LTA555:) - _$ /RECORD_BLOCKING/BLOCK_LIMIT=600/CHARACTERISTICS=(EAST)- _$ /SEPARATE=(NOBURST,NOTRAILER,NOFLAG,RESET=ANSI$RESET) - _$ /DEFAULT=(NOFEED,NOBURST,FLAG=ONE,NOTRAILER,FORM=MEMO) - _$ /LIBRARY=LN03LIBRARY /PROCESSOR=LATSYM LN03_1【2】 $ ENABLE AUTOSTART/QUEUES【3】 $ ENABLE AUTOSTART/QUEUES/ON_NODE=SMITTN【4】
この例では,次の操作を実行します。
各作業についての詳細は,この後の節を参照してください。
自動起動型実行キューを作成するためには,次の表に示す形式でINTIALIZE/QUEUE コマンドに/AUTOSTART_ON修飾子を指定します。
キューの種類 | 使用するコマンド |
---|---|
出力キュー | INITIALIZE/QUEUE
/AUTOSTART_ON= (ノード名::[装置名:] [,...])キュー名
ノード名::には,キューを実行するノード名を指定すること。 装置名:には,キューの出力先となる出力装置名を指定すること。 自動起動キューを別のノードと装置にフェイルオーバするために, ノードと装置をコンマで区切って指定すること。 |
バッチ・キュー | INITIALIZE/QUEUE/BATCH
/AUTOSTART_ON=(ノード名:: [,...])キュー名
/BATCH修飾子はバッチ・キューを作成する。 ノード名::には,キューを実行するノード名を指定すること。自動起動キューを別のノードと装置にフェイルオーバするために, ノードをコンマで区切って指定すること。 |
フェイルオーバ・リストを指定するには,次の操作を実行します。
自動起動型キューは,次のいずれかの方法で最初にアクティブにする必要があります。
INITIALIZE/QUEUE/START/AUTOSTART_ON[/修飾子,...] キュー名
START/QUEUE[/修飾子,...] キュー名
アクティブになった自動起動型キューは, STOP/QUEUE/NEXTコマンド,またはSTOP/QUEUE/RESET コマンドで停止させられないかぎり,アクティブであり続けます。 ノードをシャットダウンしても,それによってノードの自動起動型キューがアクティブでなくなることはありません。
STOP/QUEUE/NEXTコマンド,またはSTOP/QUEUE/RESETコマンドで非アクティブにした自動起動型キューを起動する場合は,START/QUEUE コマンドを入力します。 これにより,キューは自動的にキュー・マネージャによって起動されます。 この場合,次のいずれかになります。
自動起動キューを起動するノードで自動起動機能を有効にしなければなりません。 この操作は,自動起動キューを作成する前または作成した後で実行できます。 自動起動機能を有効にするには,次の操作を実行してください。
$ ENABLE AUTOSTART/QUEUES
ノードで自動起動機能を有効にすると,次の処理を自動的に実行するようキュー・ マネージャに通知される。
省略時の設定では,コマンドは,そのコマンドを入力したノードでのみ有効である。 別のノードで自動起動機能を有効にするには,/ON_ NODE修飾子を指定する。
ノード上のアクティブな停止中の自動起動型キューはすべて,ENABLE AUTOSTART/QUEUEコマンドでキューの自動起動を有効にすることにより, まとめて起動することができます。したがって,キューごとにSTART /QUEUEコマンドを登録する必要はありません。
ノードが再ブートすると,ENABLE AUTOSTART/QUEUEコマンドが入力されないかぎり, 自動起動は有効にはなりません。
ENABLE AUTOSTART/QUEUEコマンドは,ノードのすべてのスタートアップ・ プロシージャに登録することをおすすめします。ENABLE AUTOSTART/QUEUE コマンドは,スタートアップ・コマンド・プロシージャ内の,プリンタ装置の設定用コマンドと重要なディスクのマウント用コマンドの後に登録してください。 このようにしておけば,後で自動起動型キューを追加する必要が出てきたり, あるいは自動起動型キュー・フェイルオーバ・リストにノードを追加する必要が出てきたりしたときに, コマンドを登録する必要がなくなります。
次に,ノードのSYSTARTUP_VMS.COMプロシージャに登録するコマンドの例を示します。
$! Start the nonautostart batch queue $ START/QUEUE SYS$BATCH $! Start all autostart queues $ ENABLE AUTOSTART/QUEUES
システム・ディスクのSYS$MANAGER:SYSTARTUP_VMS.COMテンプレートには, この他の例も含まれています。
ここでは非自動起動型実行キューの作成と起動の方法について説明します。
次の例は,SYS$BATCHという名前でバッチ・キューを作成し,ノードLILITH: で起動する例です。
$ INITIALIZE/QUEUE/START/BATCH/ON=LILITH::SYS$BATCH
非自動起動実行キューを作成するには,次の表に示すように,INITIALIZE /QUEUEコマンドに/ON修飾子を指定します。
キューの種類 | コマンド |
---|---|
出力キュー | INITIALIZE/QUEUE /ON=ノード名::
装置名:キュー名
ノード名::には,キューを実行するノード名を指定すること。 装置名:には,キューの出力先となる出力装置名を指定する。 |
バッチ・キュー |
INITIALIZE/QUEUE/BATCH /ON=ノード名::キュー名
バッチ・キューを作成するためには,/BATCH修飾子を指定する必要がある。 ノード名::には,キューを実行するノード名を指定すること。 |
非自動起動キューは,次のいずれかの方法で起動しなければなりません。
INITIALIZE/QUEUE/START/ON[/修飾子,...] キュー名
START/QUEUE[/修飾子,...] キュー名
それぞれの非自動起動キューに対して,スタートアップ・コマンド・ プロシージャでキューの名前を指定するSTART/QUEUEコマンドを指定しなければならない。
この節では汎用キューの作成と起動の方法について説明します。
汎用キーを作成するには,次の表に示すように,INITIALIZE/QUEUEコマンドに/GENERIC 修飾子を指定します。
キューの種類 | コマンド |
---|---|
出力キュー | INITIALIZE/QUEUE /GENERIC[=(キュー名[,...])]
キュー名
/GENERIC修飾子はキューが汎用キューであることを指定する。 最初のキュー名に対しては,汎用キューがジョブを送信する送信先の実行キューを指定する。 2番目のキュー名に対しては,出力が送信される汎用キューを指定する。 |
バッチ・キュー | INITIALIZE/QUEUE/BATCH /GENERIC[=(キュー名[,...])キュー名
バッチ・キューを作成するには,/BATCH修飾子を指定しなければならない。 キュー名に対しては,汎用キューがジョブを送信する送信先の実行キューを指定する。 実行キューはバッチ・キューでなければならない。 |
上記のINITIALIZE/QUEUEコマンドの中のジョブを送る実行キュー・リストは省略することもできます。 その場合は,INITIALIZE/QUEUE,START /QUEUE,SET QUEUEのいずれかのコマンドに/ENABLE_GENERIC修飾子を指定することによって, 汎用キューからジョブを受け取る実行キューを有効にします。 ただし通常は,この方法はおすすめできません。システムの構成が単純な場合のみ, この方法を使用してください。
次の例では,汎用キュー(LN03_PRINT)を作成します。このコマンドには, LN03_PRINTがジョブを送信する送信先の実行キューが指定されています。
$ INITIALIZE/QUEUE/GENERIC=(LN03_1,LN03_2,LN03_3) LN03_PRINT
汎用キューは,次のいずれかの方法で起動しなければなりません。
INITIALIZE/QUEUE/START/GENERIC(=キュー名[,...])[/修飾子, ...] キュー名
START/QUEUE[/修飾子,...] キュー名
フォーム,特性,キューに関する情報はキュー・データベースに格納されます。 この理由から,ノードやOpenVMS Clusterシステムが再ブートするたびに, フォーム,キュー,特性を作成する必要はありません。しかし, ノードを再ブートするたびに,非自動起動実行キューを起動し,自動起動機能を有効に設定しなければなりません。 そのために,コマンド・プロシージャを作成します。
システム構成が単純な場合,一般にこのようなコマンドは,汎用的なサイト別スタートアップ・ コマンド・プロシージャSYSTARTUP_VMS.COMに登録する方法もあります。 ただし大量のコマンドが必要になる場合は,コマンド・ プロシージャ・ファイルを別に作成し,それをSYSTARTUP_VMS.COMから実行するようにしてください。
ノードがシャットダウンされると,汎用キューは自動的に停止されます。 したがって,スタートアップ・コマンドプロシージャに汎用キューの起動コマンドを入れる必要はありません。
次の表は,キューに対して使用できるオプションを示しています。
オプション | キューの種類 | 参照箇所 |
---|---|---|
キュー・アクセス制御オプション | バッチと出力 | 第13.6.1項 |
ジョブ保持オプション | バッチと出力 | 第13.6.2項 |
キュー特性オプション | バッチと出力 | 第13.6.3項 |
バッチ処理オプション | バッチ | 第13.6.4項 |
ジョブ・ スケジューリング・オプション | 出力 | 第13.6.5項 |
バナー・ ページ・オプション | 出力 | 第13.6.6項 |
フォーム・ オプション | 出力 | 第13.6.7項 |
ページあふれ制御オプションと行あふれ制御オプション | 出力 | 第13.6.7.8項 |
初期改ページの抑制 | 出力 | 第13.6.7.9項 |
装置制御ライブラリ・ オプション | 出力 | 第13.6.8 項 |
各オプションは次のいずれかの方法で指定します。
表 13-1は,キュー・オプションを指定するために使用できる修飾子と, 各オプションを指定できるキューのタイプを示しています。
修飾子 | キュー・タイプ | 説明 | 参照箇所 |
---|---|---|---|
/AUTOSTART_ON | バッチと出力 | 自動起動型実行キューを作成して,キューが動作可能なノードを( 出力キューの場合は装置も)指定する。 | 第13.4.1項 |
/BASE_PRIORITY | バッチと出力 | ジョブ・スケジューリング優先順位と異なる基本プロセス優先順位を指定する。 バッチ・キューの場合は,キューのジョブを実行するプロセスの基本優先順位, 出力キューの場合は,シンビオント・プロセスの基本優先順位を指定する。 | 第13.6.4.1 項 |
/BLOCK_LIMIT | 出力 | 出力実行キューで処理可能なプリント・ジョブのサイズを制限する。 | 第13.6.5.1項 |
/CHARACTERISTIC /CHARACTERISTICS | バッチと出力 | キューの特性を指定する。 | 第13.6.3 項 |
/CPUDEFAULT | バッチ | キューから実行されるバッチ・ジョブに対する省略時のCPU 時間割り当ての基本値を定義する。 | 第13.6.4項 |
/CPUMAXIMUM | バッチ | キューから実行されるバッチ・ ジョブに対する最大CPU時間制限を定義する。 | 第13.6.4項 |
/DEFAULT | 出力 | PRINTコマンドのいくつかのオプションに対する省略時の値を設定する。 この修飾子を使用してキューのオプションを設定しておくと, ユーザがPRINTコマンドでオプションを指定する必要がなくなる。 ただし,ここで設定した省略時の値はPRINT コマンドで変更可能。設定可能な省略時のオプションは次のとおり。 | |
BURST | 第13.6.6 項 | ||
FEED | 第13.6.7.8 項 | ||
FLAG | 第13.6.6項 | ||
FORM | 第13.6.7項 | ||
TRAILER | 第13.6.6項 | ||
/DESCRIPTION | バッチと出力 | キューに関する情報をユーザに提供する文字列を定義する。 | |
/DEVICE | 出力 | 出力実行キューのタイプを指定する。指定可能なキーワードは次のとおり。
PRINTER (省略時の設定) TERMINAL SERVER
| 第13.7.1.1項 |
/DISABLE_SWAPPING | バッチ | キューから実行するバッチ・ジョブをスワップ・ イン,スワップ・アウトするかどうか指定する。 | 第13.6.4項 |
/FORM_MOUNTED | 出力 | 出力実行キューに対するマウント・ フォームを指定する。 | 第13.6.7項 |
/GENERIC | バッチと出力 | 汎用キューを作成し, それがジョブを送り込む実行キュー名を指定する。 | 第13.4.3.1項 |
/JOB_LIMIT | バッチ | バッチ・キューから同時並行で実行可能なバッチ・ ジョブ数を指定する。 | 第13.6.4項 |
/LIBRARY | 出力 | 装置制御ライブラリのファイル名を指定する。 | 第13.6.8 項 |
/NAME_OF_MANAGER | バッチと出力 | キューと関係のあるキュー・マネージャ名を指定する。 | 第12.8 節 |
/NO_INITIAL_FF | 出力 | 出力実行キューの識別子を指定し,出力実行キューに送られる初期改ページを抑制する。 | 第13.6.7.9項 |
/ON | バッチと出力 | 非自動起動型実行キューを作成して, キューが動作可能なノードを(出力キューの場合は装置も) 指定する。 | 第13.4.2.1 項 |
/OWNER_UIC | バッチと出力 | キューに対するUIC (利用者識別コード) を指定する。 | 第13.6.1.2 項 |
/PROCESSOR | 出力 | 出力実行キューで使用するシンビオントを指定する。 省略時の設定は,標準オペレーティング・システムの標準プリント・シンビオントPRTSMB 。 | 第13.4.1 項 |
/PROTECTION | バッチと出力 | キューの保護コードを指定する。 | 第13.6.1.2項 |
/RECORD_BLOCKING | 出力 | 出力装置に出力レコードを転送するときに, シンビオントによるレコード連結またはブロック化を許可するかどうか指定する。 | 第13.4.1項 |
/RETAIN | バッチと出力 | ジョブの実行後もキューにジョブを保持する。 | 第13.6.2項 |
/SCHEDULE | 出力 | キューに保留中のジョブのスケジューリングを, ジョブの大きさに基づいて行うかどうか指定する。 | 第13.6.5項 |
/SEPARATE | 出力 | 出力実行キューに対するジョブ区切りまたはジョブ再設定オプションを指定する。 ここで指定したオプションは,PRINT コマンドで変更可能。設定可能なオプションは次のとおり。 | |
BURST | 第13.6.6 項 | ||
FLAG | 第13.6.6項 | ||
RESET | 第13.6.8項 | ||
TRAILER | 第13.6.6項 | ||
/WSDEFAULT | バッチと出力 | バッチ・
キューの場合は,そこから実行されるバッチ・ジョブに対するワーキング・
セット・サイズ,出力キューの場合は,シンビオント・プロセスに対するワーキング・
セット・サイズを指定する。
この修飾子を使って値を設定した場合,キューにジョブを登録したユーザのUAF に定義されている値は無効になる。 | 第13.6.4項 |
/WSEXTENT | バッチと出力 | バッチ・キューの場合は,
そこから実行されるバッチ・ジョブに対するワーキング・セット超過値,
出力キューの場合は,シンビオント・プロセスに対するワーキング・
セット超過値を指定する。
この修飾子を使って値を設定した場合,キューにジョブを登録したユーザのUAF に定義されている値は無効になる。 | 第13.6.4項 |
/WSQUOTA | バッチと出力 | バッチ・キューの場合は,
そこから実行されるバッチ・ジョブに対するワーキング・セット・
クォータ,出力キューの場合は,シンビオント・プロセスに対するワーキング・
セット・クォータを指定する。
この修飾子を使って値を設定した場合,キューにジョブを登録したユーザのUAF に定義されている値は無効になる。 | 第13.6.4項 |
キューは永続的に機密保護管理をするオブジェクトです。キューはキューのセキュリティ・ プロファイルとともにシステム・キュー・データベースに格納されます。
ファイルやディレクトリ同様,キューに対するアクセスを,UICまたはACL に基づく保護機構を使って制御することができます。
システムの機密保護を確立する方法については,『OpenVMS Guide to System Security』を参照してください。
UICに基づく保護機構は,キューに対するアクセス権を持つかどうかによってジョブとユーザを限定します。 この保護機構がキューに適用される処理を制御する方法は, ファイルなどの他のシステム・オブジェクトを制御する方法と同じです。
キューを作成するとき,キューには所有者UICと保護コードが割り当てられます。 省略時の所有者は[SYSTEM]ですが,/OWNER_UIC修飾子で別の所有者を指定できます。
キュー・クラスの,UICに基づいた省略時のキューの保護は次のとおりです。
System:Manager,Owner:Delete,Group:Read,World:Submit
/USER修飾子を使ってジョブがキュー登録されたのでないかぎり,ジョブには, それをキュー登録したプロセスのUICに等しい所有者UICが割り当てられます。 そして,システムは,キューのジョブとキューで行われる処理の1 つ1つについて,所有者UIC,キューの保護,および要求者の特権をチェックします。
キューについてシステムがチェックする処理は,大きく次の2つに分類されます。
操作の適用対象 | チェック項目 |
---|---|
ジョブ | キューとジョブの所有者UICに対して指定された, 読み込みおよび削除方法。 |
キュー | キューとキューの所有者UICに対して指定された, 登録および管理保護。 |
次の表は,キュー・クラスがサポートするアクセスのタイプを示しています。
アクセス ・タイプ | 権利が与えられる操作 |
---|---|
読み込み | キューまたはキュー内のジョブの機密保護要素を表示できる。 |
キューへの登録 | キューにジョブを登録できる。 |
削除 | キューに登録されているジョブを削除するか, またはジョブの要素を変更できる。 |
管理 | キューに登録されているジョブを操作できる。 キューの起動,停止,削除を行うことができ, キューの状態や,機密保護に関係のない要素を変更できる。 |
制御 | 保護要素とキューの所有者を変更できる。 |
保護コードによりプロセスに読み込みアクセス権または削除アクセス権が与えられた場合には, キューに登録されているジョブに対してだけ操作を実行できます。 しかし,ACLにより読み込みアクセス権と削除アクセス権が与えられた場合には, プロセスはキューに登録されているすべてのジョブを操作できます。
キュー・マネージャを停止または起動するには,SYSNAM特権とOPER特権が必要です。 キューを作成または削除したり,シンビオント定義を変更するには,OPER 特権が必要です。
機密保護管理者がイベント・クラスに対して監査機能を有効に設定している場合には, 次のイベントを監査できます。
監査される イベント | 監査が行われる場合 |
---|---|
アクセス | ジョブがキューに登録されたときと, ジョブまたはキューが変更されたとき。 |
作成 | キューが初期化されるとき。 |
削除 | プロセスがジョブをキューから削除するとき, またはキュー自体が削除されるとき( キューの削除の監査を有効にするには,キューに対して管理[M] アクセスの監査機能を有効にする必要がある)。 |
キューの機密保護についての詳細は,『OpenVMS VAX Guide to System Security』を参照。
UICに基づくキューの保護を設定または表示するコマンドを次に示します。
コマンド | 説明 |
---|---|
INITIALIZE/QUEUE/PROTECTION=(所有者権[:アクセス権],...) START/QUEUE/PROTECTION=(所有者権[:アクセス権],...) SET QUEUE/PROTECTION=(所有者権[:アクセス権],...) |
キューの保護を指定する。
|
INITIALIZE/QUEUE/OWNER_UIC=uic
START/QUEUE/OWNER_UIC=uic SET QUEUE/OWNER_UIC=uic | キューのUICの変更を許可する。 省略時のUICは[1,4]である。 |
SHOW QUEUE/FULL | キューに対して現在設定されている保護も含めて, キューに関する詳細情報を表示する。 |
SET SECURITY/CLASS=QUEUE/OWNER=uic | キューの所有者要素を変更する。標準形式でUICを指定する。 |
SET SECURITY/CLASS=QUEUE /PROTECTION=所有者権[:アクセス権] | キューの保護コードを変更する。 保護コードはオブジェクトの所有者に対する関係をもとに, ユーザに対して許可されるアクセスのタイプを定義する。 |
SHOW SECURITY /CLASS=QUEUE | キュー・クラスのオブジェクトに対して現在設定されている保護を表示する。 |
$ INITIALIZE/QUEUE/GENERIC=(SYS_QUE1,SYS_QUE2)/ PROTECTION=(S:M,O:D,G:R,W:R) - _$ /OWNER_UIC=[1,8]/RETAIN=ERROR SYS_PRINT $ SHOW QUEUE/FULL SYS_PRINT Generic printer queue SYS_PRINT/GENERIC=(SYS_QUE1,SYS_QUE2) - _$ /OWNER=[1,8]/PROTECTION=(S:M,O:D,G:R,W:R)/RETAIN=ERROR
$ SET SECURITY/CLASS=QUEUE/OWNER=[AGBELL]/PROTECTION=O:MD - _$ TELEPHONE_QUE $ SHOW SECURITY/CLASS=QUEUE TELEPHONE_QUEUE TELEPHONE_QUEUE object of class QUEUE Owner: [INVENTORS,AGBELL] Protection: (System: M, Owner: MD, Group: R, World: S) Access Control List: <empty>
UICに基づく保護に加えて,ACL (アクセス制御リスト)でキューを保護することもできます。ACL に基づく保護は,UICグループという単位ではなく, 特定のプロジェクト・グループのメンバーがキューに対するアクセス権を必要とする場合にもっと細かいレベルの保護を実現します。
保護オブジェクトに対してACLを設定する詳細は『OpenVMS Guide to System Security』を参照してください。
ACLに基づくキュー保護の設定または表示を行うコマンドを次に示します。
コマンド | 説明 |
---|---|
SET SECURITY/ACL=(IDENTIFIER= (識別子, ACCESS=アクセス・タイプ) [,...])CLASS=QUEUE | キューのACL保護を設定 |
SHOW QUEUE/FULL | キューのACL セットが存在すれば表示 |
SHOW SECURITY/CLASS=QUEUE | VAXシステムでキューのACLセットが存在すれば表示 |
ACLに基づく機密保護についての詳細は,『OpenVMS Guide to System Security』を参照してください。
$ SET QUEUE/PROTECTION=(S,O,G,W) $ SET SECURITY/CLASS=QUEUE SYS_QUE1 - _$/ACL=((IDENTIFIER=ULTRA_LITE, ACCESS=READ+SUBMIT+MANAGE+DELETE), - _$ (IDENTIFIER=MINUTES, ACCESS=READ+SUBMIT)) $ SHOW QUEUE/FULL SYS_QUE1 Batch queue SYS_QUE1, stopped /BASE_PRIORITY=4 /JOB_LIMIT=1 /OWNER=[1,4] /PROTECTION=(S,O,G,W) (IDENTIFIER=ULTRA_LITE,ACCESS=READ+SUBMIT+MANAGE+DELETE) (IDENTIFIER=MINUTES,ACCESS=READ+SUBMIT)
$ SET QUEUE/PROTECTION=(S,O,G,W) $ SET SECURITY/CLASS=QUEUE SYS_QUE1 - _$/ACL=((IDENTIFIER=ULTRA_LITE, ACCESS=READ+SUBMIT+MANAGE+DELETE), - _$ (IDENTIFIER=MINUTES, ACCESS=READ))
$ SHOW SECURITY/CLASS=QUEUE TELEPHONE_QUEUE TELEPHONE_QUEUE object of class QUEUE Owner: [INVENTORS,AGBELL] Protection: (System: M, Owner: MD, Group: R, World: S) Access Control List: <empty> $ SET SECURITY/CLASS=QUEUE/ACL=(ID=[AGBELL],ACCESS=CONTROL) TELEPHONE_QUEUE $ SHOW SECURITY/CLASS=QUEUE TELEPHONE_QUEUE TELEPHONE_QUEUE object of class QUEUE Owner: [INVENTORS,AGBELL] Protection: (System: M, Owner: MD, Group: R, World: S) Access Control List: (IDENTIFIER=[INVENTORS,AGBELL],ACCESS=CONTROL)
アカウント特権には,UICやACLに基づく保護に関係なくキューへのアクセスを可能にするものがあります。 次の表はそうしたアカウント特権と,それらの特権がキューに対して行えるアクセス・ タイプをまとめたものです。
特権 | アクセス |
---|---|
OPER | すべてのキューに対する管理アクセス権と制御アクセス権 |
BYPASS | すべてのキューに対する管理アクセス権と制御アクセス権 |
READALL | すべてのジョブに対する読み込みアクセス権とキューの機密保護情報に対する読み込みアクセス権 |
SYSPRV | システムUIC のユーザに対して指定されたアクセス権 |
GRPPRV | システムUICまたはグループUICのユーザに指定されたアクセス権 |
ジョブ保持オプションを使用すると,ユーザはジョブが完了した後も,ジョブをキューに保持しておくことができます。 システム管理者はジョブ保持オプションを使用して, ジョブが完了した後,キューに登録されているすべてのジョブに関する情報を保存できます。 他のユーザが登録したジョブを追跡する場合は, この機能を使用すると便利です。
ユーザはシステム管理者と同様に,ジョブ保持を設定できます。この後の節では, ユーザとシステム管理者がこの作業をどのようにして実行できるかについて説明します。
ユーザはPRINTコマンドまたはSUBMITコマンドに/RETAIN修飾子を指定することにより, ジョブが完了した後もジョブをキューに保持しておくことを要求できます。 次の例を参照してください。
PRINT/RETAIN SUBMIT/RETAIN
省略時の設定では,キューに対してジョブ保持オプションは設定されません。 ジョブ保持オプションを指定するには,次のいずれかのコマンドを使用します。
INITIALIZE/QUEUE/RETAIN=option START/QUEUE/RETAIN=option SET QUEUE/RETAIN=option
次のいずれかのオプションを指定できます。
オプション | 説明 |
---|---|
ALL | 実行後すべてのジョブをキューに残す(省略時の設定) |
ERROR | 異常終了したジョブのみキューに残す |
次のコマンドでは,正常終了しなかったすべてのジョブをキューに残すよう指定しています。
$ SET QUEUE/RETAIN=ERROR BATCH_QUE
たとえば,特定のキューで正常終了しなかったすべてのバッチ・ジョブをオペレータが監視する必要がある場合は, ジョブ保持オプションを使用して, エラー終了したジョブをキューに残すよう指示することができます。 これによりオペレータはSHOW QUEUEコマンドを使用して,異常終了したジョブのリストを表示することができます。 ジョブが正常終了しなかった場合には, このメッセージから,エラーが発生した理由を判断できます。また, 保持されていたジョブが完了した日付と時刻も表示されます。
キューに対してジョブ保持オプションを指定すると,そのキューのジョブに対してユーザが要求したジョブ保持オプションより優先します。 図 13-10は,汎用キューに登録されたジョブに対して, ジョブ保持機能がどのように影響するかを示しています。
ジョブを削除しないかどうか,またジョブをどこに保持するかは,次の項目で決まります。
キューにジョブを保持した場合は,保持する必要のなくなったジョブを定期的に削除するようにしてください。
ユーザはジョブ保持の期限を指定できます。次の例を参照してください。
$ SUBMIT/RETAIN=UNTIL=19-MAY-1998:07:31:0.0 MYFILE.DAT
この機能を使えば,キューに保持したジョブを手作業で削除する必要はありません。 したがって,/RETAIN修飾子を使用する場合は,ユーザにこの機能を使用させることをおすすめします。
ジョブに対してユーザが指定した保持の原則を変更するには,次の形式でSET ENTRY コマンドに/RETAIN=オプション修飾子を指定します。
SET ENTRY/RETAIN=オプション エントリ番号
次のいずれかのオプションを指定できます。
オプション | 説明 |
---|---|
ALWAYS | ジョブの終了状態に関係なくキューにジョブを残す。 |
DEFAULT | キューの保持オプションの指定通りにキューにジョブを残す(第13.6.2項を参照)。 キューに保持オプションが設定されていない場合, ジョブは残されない。 |
ERROR | ジョブが異常終了した場合にのみキューにジョブを残す。 |
UNTIL=時間 | ジョブの終了状態に関係なく,指定された時間の間, キューにジョブを残す。このオプションを使うことにより,適当な時間だけキューにジョブを残し, 後でジョブを削除する手間を省くことができる。 時間値は最初にデルタ時間,次に複合時間,そして最後に絶対時刻と解釈される。 時間指定についての詳細は,『OpenVMSユーザーズ・マニュアル』を参照。 |
たとえば次のコマンドは,ジョブ終了後3時間を経過するまで172というジョブをキューに残します。3 時間を経過したとき,ジョブは自動的に削除されます。
$ SET ENTRY/RETAIN=UNTIL="+3:00" 172
キューからジョブ保持オプションを削除するには,INITIALIZE/QUEUE コマンド,START/QUEUEコマンド,またはSET QUEUEコマンドに対して/NORETAIN 修飾子を指定します。
特性とは,環境に関連するプリント・ジョブまたはバッチ・ジョブの属性です。 たとえば,プリンタの特性はインクの色,用紙の種類,プリンタの場所などです。 キューの特性を定義した後,ユーザはPRINTコマンドまたはSUBMIT コマンドを入力するときに,ジョブに関連付ける特性を指定できます。
ジョブの特性がキューが持っている特性の一部である場合には,プリント・ ジョブを実行キューで処理できます。しかし,ジョブに割り当てられた特性がキューに割り当てられていない場合には, 第13.8.2.2項で説明しているように, 特性の不一致が修正されるまで,ジョブは保留されます。
キュー特性を指定するには,次の操作を実行します。
3台のLN03プリンタをビルの4隅でそれぞれ管理しています。汎用キューLN03$PRINT は各プリンタの実行キューにジョブを送ります。EAST,WEST, NORTH,SOUTHという特性を定義できます。
ユーザがEAST特性を使用してプリント・ジョブをLN03$PRINTに登録すると, そのジョブはビルの東側にある最初のアイドル状態のLN03プリンタで印刷されます。 複数の階に設置されたプリンタのキューがシステムにある場合には, さらに各階に対して特性を定義できます。たとえば,FIRST, SECOND,THIRDなどの特性を定義できます。
特性を操作する場合には,次のコマンドを使用します。
コマンド | 説明 |
---|---|
DEFINE/CHARACTERISTIC | 特性を作成して, 名前と番号を割り当てる。 |
DELETE /CHARACTERISTIC | 特性を削除する。 |
SHOW QUEUE/CHARACTERISTIC | システムに定義されている特性の情報を表示する。 |
INITIALIZE/QUEUE/CHARACTERISTICS SET QUEUE/CHARACTERISTICS START/QUEUE/CHARACTERISTICS | キューのジョブを処理するための特性を指定する。 |
SHOW QUEUE/FULL | キューに割り当てられた特性などのキュー情報を表示する。 |
PRINT/CHARACTERISTICS SUBMIT/CHARACTERISTICS SET ENTRY/CHARACTERISTICS | ジョブに割り当てる特性の名前または番号を指定する。 |
以降の節では,キュー特性の指定の方法について説明します。
省略時の設定では,定義されている特性はありません。特性を定義するためには, 次の形式のDEFINE/CHARACTERISTICコマンドを使用します。
DEFINE/CHARACTERISTIC特性名 特性番号
1つの番号に対して複数の特性名を定義することはできません。
使用しているキュー構成で,1つの番号に対して複数の特性名が必要な場合には, 論理名を定義することにより,これを行うことができます。
OpenVMS Cluster環境では,必要なすべてのノードで論理名を定義する必要があります。
次の例では,特性名SECOND_FLOORが特性番号2に割り当てられています。 論理名SALES_FLOORとSALES_DEPTは,特性名SECOND_FLOORと等価であるとして定義されています。 この結果,論理名SALES_FLOORとSALES_DEPT は,特性名SECOND_FLOORおよび特性番号2と等価になります。この論理名は,/CHARACTERISTIC= 特性名 修飾子における特性名 値として指定することができます。
$ DEFINE/CHARACTERISTIC SECOND_FLOOR 2 $ DEFINE/SYSTEM/EXECUTIVE_MODE SALES_FLOOR SECOND_FLOOR $ DEFINE/SYSTEM/EXECUTIVE_MODE SALES_DEPT SECOND_FLOOR
システムに定義されている特性を表示したい場合は,次の例に示すようにSHOW QUEUE/CHARACTERISTICS コマンドを使用します。
$ SHOW QUEUE/CHARACTERISTICS Characteristic name Number ------------------- ------ EAST 1 WEST 2 NORTH 3 SOUTH 4
省略時の設定では,キューに特性は割り当てられていません。特性をキューに割り当てるには,INITIALIZE/QUEUE ,START/QUEUE,またはSET QUEUE コマンドに/CHARACTERISTICS修飾子を指定します。
$ SET QUEUE/CHARACTERISTICS=(EAST) LN03_1
キューに定義されている特性を知りたい場合は,次の例に示すようにDCL のSHOW QUEUE/FULLコマンドを使用します。
$ SHOW QUEUE/FULL LN03_1 Printer queue LN03_1, idle, on HERA::TTA3, mounted form DEFAULT <Printer queue on node HERA for an LN03 printer> /BASE_PRIORITY=4 /CHAR=(1) /DEFAULT=(FLAG=ONE,FORM=LN03$PORTRAIT (stock=DEFAULT)) /LIBRARY=LN03LIBRARY Lowercase /OWNER=[SYSTEM] /PROCESSOR=LATSYM /PROTECTION=(S:M,O:D,G:R,W:R) /SEPARATE=(RESET=(ANSI$RESET))
キューに割り当てられた特性を取り消すにはINITIALIZE/QUEUE, START /QUEUE,またはSET QUEUEコマンドに/NOCHARACTERISTICS修飾子を指定します。
特性の定義を削除する場合は,次の例に示すようにDCLのDELETE /CHARACTERISTICコマンドに特性名を指定します。
特性番号は分かっているが,特性名が分からないという場合は,SHOW QUEUE/CHARACTERISTICコマンドを使用して,システムに定義されている特性名と特性番号を調べることができます。
キューまたはジョブが特性を参照している場合,システムからは次のメッセージが返されます。
%DELETE-E-NOTDELETED, error deleting characteristic -JBC-E-REFERENCED, existing references prevent deletion
特性を削除するためには,特性に対する参照をすべて削除しておく必要があります。 特性に対する参照の削除については,第13.8.5項を参照してください。
INITIALIZE/QUEUE,START/QUEUE,SET QUEUEのいずれかのコマンドでキュー・ オプションを使用し,バッチ・ジョブの性能や,バッチ・ジョブを実行するプロセスのシステム資源の使用方法を制御することができます。
バッチ処理オプションの指定に使用可能な修飾子は次のとおりです。
修飾子 | 説明 |
---|---|
/JOB_LIMIT=n | キューで同時に実行可能なジョブ数を指定。 |
/[NO]DISABLE_SWAPPING | キューでジョブを実行しているプロセスをメモリからスワップ可能にするかどうか指定。 |
/CPUDEFAULT=時間 | 省略時のCPU時間割り当ての基本値を指定する。/CPUMAXIMUM 修飾子で設定された時間割り当てを超えてはならない。 |
/CPUMAXIMUM=時間 | キューのすべてのジョブに対して最大CPU時間制限を指定。 |
また,バッチ処理オプションの指定では,次の修飾子を使用することもできます。 これらの修飾子は実際にはバッチ・キュー専用ではありませんが, バッチ・ジョブの性能や,バッチ・ジョブを実行するプロセスのシステム資源の使用方法を制御するための修飾子として使用されるのが普通です。
オプション | 説明 |
---|---|
/BASE_PRIORITY=n | バッチ・キューから起動するジョブの基本プロセス優先順位を指定する。 |
/WSDEFAULT=n | バッチ・キューから実行するジョブの省略時のワーキング・ セット・サイズを指定する。 出力キューの場合は,シンビオント・プロセスに対する省略時のワーキング・ セット・サイズである。 |
/WSEXTENT=n | バッチ・キューから実行するジョブのワーキング・ セット超過値を指定する。出力キューの場合は,シンビオント・ プロセスに対する省略時のワーキング・セット超過値である。 |
/WSQUOTA=n | バッチ・ キューから実行するジョブのワーキング・セット・クォータを指定する。 出力キューの場合は,シンビオント・プロセスに対する省略時のワーキング・ セット・クォータである。 |
こうした制限値,クォータ,優先順位については,次のマニュアルを参照してください。
省略時の設定では,バッチ・ジョブを実行するプロセスは,ジョブをキュー登録したユーザのUAF レコードの値かSYSGENパラメータ設定値を使用します。 また,キュー・オプションに値が指定された場合は,ジョブのキュー登録時にユーザによる値の変更がないかぎり, キューに指定された値を使用します。 ユーザは,ジョブのキュー登録時,CPU時間の他,省略時の値, クォータ,超過値などワーキング・セットのオプションを指定することができます。
ユーザが指定する値は,管理者がキューに対して設定した値より小さくなければなりません。 管理者が値を指定していない場合には,ユーザが指定する値は, 関連するUAFの上限またはシステム・パラメータに指定された値より小さくなければなりません。
次に,これらのオプションの値を選択するときのガイドラインを説明します。
オプション | 参照箇所 |
---|---|
基本プロセス優先順位 | 第13.6.4.1 項 |
ジョブ制限 | 第13.6.4.2項 |
ワーキング・ セットの省略時設定,クォータ,超過値 | 第13.6.4.3項 |
CPU時間の省略時の値と最大値 | 第13.6.4.4 項 |
スワッピング | 第13.6.4.5項 |
メモリ制約付きシステム用のオプション | 第13.6.4.6項 |
Sort/Mergeユーティリティの最適化 | 第13.6.4.7 項 |
優先順位値の選択は,バッチ・ジョブを処理したい速度に基づいて行ってください。 システム・パラメータ値DEFPRI (通常は4)に等しい値を選択した場合, キューのジョブは一般の会話型ジョブと同じレベルの速度で処理されます。 これは,CPU時間が十分に使用できるシステムに適切です。
一方,DEFPRIより小さい値を選択した場合,キューのジョブの処理速度は一般の会話型ジョブと同程度になる可能性があります。 これは,DEFPRI優先順位のジョブのサービスを終えた後しか, キューのジョブにCPU時間が割り当てられないためです。
非常に特殊な目的で定義されたキューには,つまり,高い優先順位のジョブには,DEFPRI より大きな値を割り当てます(5など)。ただし,このような割り当てをすると, 他のユーザやバッチ・ジョブの性能に大幅な影響を及ぼすことがあります。
バッチ・ジョブは会話型ジョブの性能に影響を与えるので,DEFPRIまたはそれより高い基本プロセス優先順位を使用するときは, ジョブ制限値を抑えてください。
ワーキング・セットに関するオプションが指定されなかった場合,キューのジョブには, 所有者の利用者登録ファイル(UAF)レコードに指定された値が適用されます。
プロセス制限 | 説明 |
---|---|
ワーキング・セットの省略時の値 | 各イメージの終了時にワーキング・ セットが戻るべき値。一般に,この値は比較的に小さい値にすべきであり, 通常は,ユーザのUAFレコードに指定されている値のままにしておくのがよい。 |
ワーキング・ セット・クォータ | メモリ制約があるシステムで, キューの各バッチ・ジョブが使用する物理メモリ量を示す値。 |
ワーキング・セット超過値 | メモリが豊富なシステムにおいてキューの各バッチ・ジョブが使用可能な最大物理メモリ量を示す値。
一般に,このオプションには大きな値を設定する。ワーキング・セット超過値はワーキング・ セットの上限のサイズ。したがって,ジョブがさらにメモリを必要としたとしても, この値よりワーキング・セットが大きくなることない。 このオプションの値を小さくしすぎると,システムに大量の未使用メモリがあっても, 頻繁にジョブがページ・フォルトを起こすことになる。 安全を期すためには,システムで設定可能な最大ワーキング・セット・ サイズを示すシステム・パラメータ値WSMAXと同じ値にすることを推奨。 |
一般にワーキング・セットのクォータと超過値は,ユーザのUAFレコードに指定されている値で十分ですが, キューの用途によっては,値をもっと緩めたり, もっと厳しくしたりする必要が出てくることがあります。たとえば, 大きなプログラムのコンパイルやリンクなど,大きなジョブをバッチ・ ジョブとして処理したり,資源を多く必要としないジョブを会話形式で処理する場合などです。 そのような場合は,次のようにクォータと超過値を設定します。
CPU制限値を設定することによって,ジョブが使用可能なCPU時間を短くしたり, 長くしたりすることができます。
CPU時間制限値をあまり小さく設定しないでください。CPU時間制限値を超えたジョブはエラー終了します。 前の項で説明したように,ワーキング・ セットの値が小さすぎても,メモリの使用効率が落ちるだけで,ジョブは正常に終了することができます。 しかし,CPU時間制限値が小さすぎると, 許可された範囲内でCPUを正しく使用しているジョブも途中終了してしまうことがあります。
たとえば,CPUループに陥る可能性がある新しいソフトウェアの実行専用のバッチ・ キューに,CPU時間制限値を設定したと仮定します。そうすることによって無限ループが終了するため,CPU 資源の無駄遣いになりません。 しかしながら,正常に動作しているジョブが途中終了することのないよう, 制限値の選択には注意し,十分に大きな値にする必要があります。
CPU資源の割り当てを制御するもう1つの方法は,1日のうちで,より多くのCPU 時間を割り当てることができるもっと負荷の少ない時間にジョブの実行を行う専用のバッチ・ キューを作成することです。
一般に,バッチ・キューではスワッピングを有効にします。ただし,非常に特殊な目的を持つ, 優先順位の高いキューでは,無効にした方がよいかもしれません。 オペレーティング・システムのスワッピングとトリミング機構を介して, プロセスからのメモリ再利用が必要になる時期を考える必要がなくなるため, キューのジョブに適した環境が実現されます。
詳細は『Guide to OpenVMS Performance Management』を参照してください。
メモリが制限されたシステムでは,すべてのバッチ・キューでバッチ・ワーキング・ セットにとって必要なページの合計を求めます。また,会話型ジョブに対して十分な流動メモリが残るようにしなければなりません。
流動メモリは,スワッピングやページングによって1つのプロセスから別のプロセスに再割り当てできます。 流動メモリは,総メモリから,オペレーティング・ システムに永久的に割り当てられたページ数を差し引いたときに残る容量から計算できます。 これらの値を求めるには,SHOW MEMORY コマンドを入力します。
ソートを行うジョブ専用のバッチ・キューを作成し,非常に大きなワーキング・ セット・クォータを設定することによって,OpenVMSのSORT/MERGE ユーティリティの処理速度を向上させることができます。
また,プロセス割り当て量を設定することによって,最大のSORT処理速度を実現することもできます。 ここで推奨する値は,単純にSORTの効率性だけを考慮したものです。 実際に適切な値を決定するにあたっては,その他の事項も考慮する必要があります。
最高のソート速度を得るためには,INITIALIZE/QUEUE,START/QUEUE, SET QUEUEのいずれかのコマンドで/WSEXTENT修飾子を使用し,ソート・ ジョブが必要とすると思われる最大の超過値を設定する。一般に, ワーキング・セットが小さいほど,ソートの効率は悪くなる。
バッチ・モードで大きいファイルをソートする場合には,ソートに対応できるように,WSEXTENT システム・パラメータの値を大きい値に設定する必要がある。
最高のソート速度を得るためには,最大ワーキング・セット超過値よりVAX システムであれば少なくとも1000ページ,Alphaシステムであれば少なくとも1000 ページレット大きな値をVIRTUALPAGECNTシステム・ パラメータ値に設定すること。この場合,ソート・データ構造はプロセスのワーキング・ セット超過値の大きさに制限されるが,ワーク・ ファイルが必要になると,SORTがI/Oバッファ用にメモリを追加使用することができる。 ワーキング・セット超過値よりこのパラメータ値を小さくしすぎると, メモリ上でのファイルのソートが不可能になったとき,SORT がワーク・ファイル用のバッファを作成できないことがある。
キュー・マネージャは次の基準に従って,処理可能状態のバッチ・ジョブとプリント・ ジョブのスケジューリング優先順位を決定します。
キュー・マネージャは,ジョブのスケジューリング優先順位を調べ, 最も優先順位の高いジョブを最初に処理する。ジョブ・スケジューリング優先順位は, 基本プロセス優先順位や現在のプロセス優先順位とは異なる。 ユーザはPRINTやSUBMITコマンドで/PRIORITY修飾子を使用して, ジョブ・スケジューリング優先順位を指定することができる。
省略時の設定では,キュー・マネージャは出力ジョブのサイズを調べ, スケジューリング優先順位が同じジョブについては,小さいジョブを先に処理する。
キューが/SCHEDULE=NOSIZEオプションを使用して作成,起動,または変更されている場合, ジョブのサイズはチェックされない。
スケジューリング優先順位が同じジョブについては,キュー登録時刻が早い方のジョブを先に処理する。
ジョブ・スケジューリング・オプションを指定するには,次の操作を実行します。
ジョブ・スケジューリング・オプションを指定するコマンドを次に示します。
コマンド | 説明 |
---|---|
INITIALIZE/QUEUE/SCHEDULE=[NO]SIZE
START/QUEUE/SCHEDULE=[NO]SIZE SET QUEUE/SCHEDULE=[NO]SIZE | 出力実行キューで保留中のジョブを, ジョブのサイズを基準にして印刷のためにスケジューリングするかどうかを指定する( 短いジョブは長いジョブより前に印刷される) 。 |
INITIALIZE/QUEUE/[NO]BLOCK_LIMIT=
([下限,]上限)
START/QUEUE/[NO]BLOCK_LIMIT= ([下限,]上限) SET QUEUE/[NO]BLOCK_LIMIT= ([下限,]上限) | 出力実行キューで処理できるプリント・ ジョブのサイズを制限する。 |
PRINT
/PRIORITY=n
SUBMIT/PRIORITY=n SET ENTRY/PRIORITY=n | プリント・ジョブのジョブ・ スケジューリング優先順位を指定する。nの値は0〜255である。 ただし,0は最低の優先順位であり,255は最高の優先順位である。 |
この節では,ジョブの印刷の優先順位とサイズの設定方法について説明します。
サイズをもとにジョブの優先順位を付けるには,INITIALIZE/QUEUE, START/QUEUE,またはSET QUEUEコマンドに/SCHEDULE=SIZE修飾子を指定します(/SCHEDULE=NOSIZE 修飾子を指定すると,ジョブはサイズとは無関係に, キューに登録された順に印刷されます)。
次の例では,/SCHEDULE=SIZE (省略時の設定)が使用されているため,プリント・ キューLPA0_PRINTで短い(サイズの小さい)ジョブが長い(サイズの大きな) ジョブより前に印刷されます。
$ INITIALIZE/QUEUE/SCHEDULE=SIZE LPA0_PRINT
保留中のジョブがキューに登録されているときに,このコマンドを入力すると, この後登録されるジョブに対してコマンドがどのように影響するかは予測できません。
プリント・ジョブのサイズを制限するには,INITIALIZE/QUEUE,START /QUEUE,またはSET QUEUEコマンドに/BLOCK_LIMIT修飾子を指定します。 省略時の設定では,プリンタ・キューとターミナル・キューはブロック制限を付けずに作成されます。 したがって,どのようなサイズのジョブも印刷されます。 上限だけを指定することも,上限と下限の両方を指定することもできます。
次の例では,LPB0_PRINTのブロック・サイズは50に制限されているため, このキューは51ブロックより小さいジョブ専用に使用されます。
$ INITIALIZE/QUEUE/BLOCK_LIMIT=50 LPB0_PRINT
1日の特定の時間帯だけ,ジョブのサイズを制限しなければならないことがあります。 たとえば,午前8時00分にキューの最大ブロック・サイズを500 ブロックに制限するコマンド・プロシージャを実行するバッチ・ジョブをキューに登録できます。 コマンドの実行後にこのコマンドプロシージャ自身をキューに再登録するように作成しておけば毎日午後5:00 分以降に, ブロックの制限を解除することができます。このようにすると,通常の勤務時間が終了した後, 印刷の作業負荷が軽減されたときに,ユーザはどのようなサイズのジョブも印刷できるようになります。 特定の時刻以降にジョブを印刷することを指定するには,PRINT コマンドに/AFTER修飾子を指定します。
バッチ・ジョブやプリント・ジョブを処理できない場合には,そのジョブは保留状態になり, 保留状態になった原因が解決されるまで処理されません。 詳細は第13.8.2項を参照してください。
ジョブのスケジューリング優先順位を変更するには,次の形式でSET ENTRYコマンドに/PRIORITY修飾子を指定します。
SET ENTRY/PRIORITY=n エントリ番号
次の例では,ジョブのスケジューリング優先順位を50に変更します。
$ SET ENTRY/PRIORITY=50 1131
ジョブのスケジューリング優先順位と,キューの基本プロセス優先順位を混同しないでください。 ジョブのスケジューリング優先順位の値は0〜255 の範囲です。ただし,0は最低の優先順位であり,255は最高の優先順位です。 ジョブのスケジューリング優先順位を示す/PRIORITYの省略時の値は, システム・パラメータDEFQUEPRIの値です(通常は100に設定されます) 。
バナー・ページとは,キューに対して設定できる,特殊な形式のページであり, 印刷を終了するときに出力ジョブを識別し,ジョブの区切りを確認するのに役立ちます。 また,バナー・ページはジョブに複数のジョブがある場合にそれらのファイルを区切り, 識別するのにも役立ちます。
バナー・ページには次の2種類があります。
ほとんどのサイトでは,使用可能なバナー・ページのうち,その一部だけしか使用しません。 次の表は使用できるバナー・ページのタイプを示しています。
タイプ | 説明 | 参照箇所 |
---|---|---|
ジョブ・ ページ | ||
フラグ ・ページ | 各ジョブの前にプリントされる1枚のページ | 図 13-11 |
バースト ・ページ | 各ジョブの前にプリントされる,区切りバー( バースト・バー)で区切られた 2枚のフラグ・ページ | 図 13-11 |
トレーラ ・ページ | 各ジョブの最後にプリントされる1 枚のページ | 図 13-13 |
ファイル・ ページ | ||
フラグ ・ページ | ジョブの各ファイルの前にプリントされる1枚のページ | 図 13-12 |
バースト ・ページ | ジョブの各ファイルの前にプリントされる, 区切りバー(バースト・バー)で区切られた2 枚のフラグ・ページ | 図 13-12 |
トレーラ ・ページ | ジョブの各ファイルの最後にプリントされる1 枚のページ | 図 13-13 |
ジョブ・フラグ・ページ,ファイル・フラグ・ページ,ジョブ・ トレーラ・ページ,ファイル・トレーラ・ページの詳細は表 13-2 を参照してください。
項目 | 説明 |
---|---|
ヘッダ・ バー | 次のもので構成されるセグメント化されたバー。
ジョブ・フラグ・ページ: 次のもので構成されるシングル・セグメント・バー。
ファイル・フラグ・ページ: 次のもので構成される3セグメント・バー。
ジョブ・トレーラ・ページ: 次のもので構成される3セグメント・バー:
ファイル・トレーラ・ページ: 次の要素で構成される5セグメント・バー。
|
注記 | PRINT/NOTEコマンドを使用してユーザが指定する255 文字以内の文字列。 |
識別バナー | ジョブを登録したプロセスのユーザ名,ジョブ名, ジョブ番号を印刷する。 |
修飾子句(ファイル・ トレーラ・ページのみ) | ジョブがキューに登録されたときにアクティブだったプリント修飾子, キュー修飾子,フォーム修飾子を印刷する。 アクティブでなかった修飾子は印刷しない(ただし,/NORECORD_ BLOCKINGと/NOFEEDは例外である)。 |
ファイル文( ファイル・フラグ・ページとファイル・トレーラ・ページのみ) | 次の情報を示す。
|
受信ボックス(ジョブ・トレーラ・ページのみ) | Received:,Date:,Operator:というサインオフ・フィールドを印刷する。 |
ジョブ文 | 次の情報を示す。
|
フッタ・バー | 次の要素で構成されるセグメント化されたバー:
ジョブ・フラグ・ページ: ジョブ・フラグ・ヘッダ・バーと同一であるが,システム論理名(PSM$ANNOUNCE) の定義は埋め込み文字列として使用されない。埋め込み文字列として常に省略時のテキストが使用される。 ファイル・フラグ・ページ: ファイル・フラグ・ヘッダ・バーと同一であるが,埋め込みテキスト文字列は"Compaq Computer Corporation" とオペレーティング・システムのバージョン番号である。 ジョブ・トレーラ・ページ: ジョブ・フラグ・ヘッダ・バーと同一であるが,システム論理名(PSM$ANNOUNCE) の定義は埋め込み文字列として使用されない。 ファイル・トレーラ・ページ: ファイル・フラグ・ヘッダ・バーと同一であるが,埋め込みテキスト文字列は"Compaq Computer Corporation" とオペレーティング・システムのバージョン番号である。 |
ルーラ(ファイル・トレーラ・ ページとジョブ・トレーラ・ページのみ) | フォームの最後までカウントした一連の数字。 |
図 13-11は,ジョブのフラグ・ ページとバースト・ページの例です。図 13-12 は,ファイル・フラグ・ページとファイル・バースト・ページの例です。 図 13-13は,ファイル・ トレーラ・ページとジョブ・トレーラ・ページの例です。
ファイルとジョブのバナー・ページでサポートされているフォームのサイズは, 幅が40文字以上,200文字以下,長さが40文字以上です。200文字を超える幅のページが要求された場合は, 書式整形されて,200文字の幅でプリントされます。 長さが40文字より短いページが要求された場合は,40 文字のしきい値を超えるまで拡張されます。バナー・ページの書式整形では, マージンは考慮されません。
バナー・ページに関する操作で使用するコマンドは次のとおりです。
コマンド | 説明 |
---|---|
INITIALIZE/QUEUE/SEPARATE= オプション START/QUEUE/SEPARATE= オプション SET QUEUE/SEPARATE= オプション | 次のジョブ・
バナー・ページ・オプションを指定する。
[NO]BURST [NO]FLAG [NO]TRAILER キューに指定されたジョブ・バナー・ページをユーザは変更できない。 |
INITIALIZE/QUEUE/DEFAULT= オプション=キーワード START/QUEUE/DEFAULT= オプション=キーワード SET QUEUE/DEFAULT= オプション=キーワード |
次のファイル・バナー・ページ・オプションを指定する。
[NO]BURST [NO]FLAG [NO]TRAILER キーワードはALLかONEのいずれか。 ユーザは,PRINTコマンドに/BURST,/FLAG,/TRAILERのいずれかの修飾子を指定することによって, キューに指定されたファイル・バナー・ページを変更することができる。 |
PRINT/BURST [=キーワード] | ジョブに対してALLかONEキーワードを指定することによって, キューに指定されたファイル・バースト・ ページを無効にする。 |
PRINT/FLAG[=キーワード ] | ジョブに対してALLかONEキーワードを指定することによって, キューに指定されたファイル・フラグ・ページを無効にする。 |
PRINT/TRAILER [=キーワード ] | ジョブに対してALLかONEキーワードを指定することによって, キューに指定されたファイル・トレーラ・ページを無効にする。 |
プリント・フォームは,特定のページ書式設定属性(マージン,ページ長, 行の折り返しなど)を指定します。また,フォーム定義に指定された用紙ストックは, ジョブが印刷に適しているかどうかを判断するときに使用されます。
OpenVMSでは,次のいずれかを使用できます。
印刷に関する必要条件が限定されている場合には,すべてのキューに対してシステム単位の 省略時のフォーム (フォーム名 DEFAULT)を使用する。システム単位の省略時のフォームは必要に応じて変更できる。
出力の書式を設定したり,特殊な用紙を指定するには,カスタマイズしたフォームを作成できる。 ユーザはジョブをキューに登録するときに, そのフォームを指定することにより,プリント・ジョブに対して使用するフォームを要求できる。
フォームのストックは,ジョブが印刷に適しているかどうかに影響します。 ストックはキューのマウントされたフォームと一致しなければなりません。 マウントされたフォームとは,現在のジョブのフォーム, またはジョブが処理中でないときは,キューで最後に印刷されたジョブのフォームです。
ジョブのフォームのストックが,キューにマウントされているフォームのストックと一致する場合には, そのジョブはジョブのフォームのオプションを使用して処理されます。 マウントされたフォームは,キューで処理されているジョブのフォームに自動的に変化します。 ストックがマウントされたフォームのストックと一致しない場合には, 管理者が特別な処理を実行するまで, ジョブは保留状態になります(第13.6.7.6 項を参照)。
フォームの操作に使用するコマンドは次のとおりです。
コマンド | 説明 |
---|---|
DEFINE/FORM | フォームを作成して,名前と番号を割り当てる。 |
SHOW QUEUE/FORM/FULL | システムに定義されているフォームの情報を表示する。 |
DELETE/FORM | フォームを削除する。 |
INITIALIZE/QUEUE/DEFAULT=FORM START/QUEUE/DEFAULT=FORM SET QUEUE/DEFAULT=FORM | 出力実行キューの省略時のフォームの名前か番号を指定する。 |
PRINT/FORM SET ENTRY/FORM | プリント・ジョブに割り当てる省略時のフォームの名前か番号を指定する。 |
INITIALIZE/QUEUE/FORM_MOUNTED START/QUEUE/FORM_MOUNTED SET QUEUE/FORM_MOUNTED | 出力実行キューのマウント・ フォームの名前か番号を指定する。 |
SHOW QUEUE/FULL | キューの省略時のフォームやマウント・フォームなどのキュー情報を表示する。 |
システム単位の省略時の設定のフォームまたはカスタマイズされたフォーム
システム単位の省略時のフォームをまったく変更せずに使用する場合は, 特別な処理は何も必要ありません。システムはすべてのキューに対して, システム単位の省略時のフォームであるDEFAULTを自動的に使用します。
しかし,省略時のフォームを変更する場合には,そのフォームを参照するキューを作成する 前に変更しなければなりません。変更方法については, 第13.6.7.3項を参照してください。
カスタマイズしたフォームを作成するには,第13.6.7.4 項で説明している手順を実行します。
この後の節では,すべてのフォーム,システム単位の省略時のフォーム, カスタマイズしたフォームに対して,これらの作業を実行する場合のガイドラインを示します。
作業 | フォームの種類 | 参照箇所 |
---|---|---|
システムで定義されているフォームの表示 | すべてのフォーム | 第13.6.7.1項 |
キューに割り当てられているフォームの表示 | すべてのフォーム | 第13.6.7.2 項 |
システム単位の省略時のフォームの変更 | 省略時のフォーム | 第13.6.7.3項 |
フォームの作成 | カスタマイズされたフォーム | 第13.6.7.4 項 |
キューの省略時のフォームの割り当て | カスタマイズされたフォーム | 第13.6.7.5項 |
キューでのフォームのマウント | カスタマイズされたフォーム | 第13.6.7.6 項 |
フォームの削除 | カスタマイズされたフォーム | 第13.6.7.7項 |
行とページのあふれの制御 | すべてのフォーム | 第13.6.7.8項 |
初期改ページの禁止 | すべてのフォーム | 第13.6.7.9項 |
システムに定義されているフォームの情報を表示したい場合は,SHOW QUEUE/FORM/FULLコマンドを使用します。フォーム名が分かっている場合は, 次の例に示すようにそのフォーム名を指定してください。
$ SHOW QUEUE/FORM/FULL MEMO Form name Number Description --------- ------ ----------- MEMO (stock=DEFAULT) 110 LN03 indented memo format /LENGTH=66 /MARGIN=(TOP=2,BOTTOM=2,LEFT=5) /STOCK=DEFAULT /TRUNCATE /WIDTH=80
キューの省略時のフォームを表示するには,SHOW QUEUE/FULLコマンドを入力します。
次の例では,省略時のフォームはREPORTであり,そのストックは8_5x11です。 このキューで処理されるジョブのうち,PRINTコマンドでフォーム定義が指定されていないジョブはすべて, 省略時のフォームREPORTを使用します。 マウントされたフォームのストックが省略時のフォームのストックと一致する場合には, フォーム定義を指定せずにこのキューに登録されたすべてのジョブは, スケジューリングされて印刷されます。
$ SHOW QUEUE/FULL JEAN_PRINT Printer queue JEAN_PRINT, idle, on BAY::TTA3:, mounted form 8_5x11 <Queue for printer in Jean's office> /BASE_PRIORITY=4 /DEFAULT=(FEED,FORM=REPORT (stock=8_5X11)) /OWNER=[SYSTEM] /PROTECTION=(S:M,O:D,G:R,W:R)
/DEFAULT=FORM修飾子を使用せずに初期化したキューでは,フォーム定義が指定されていないプリント・ ジョブを処理するために,システム単位の省略時のフォームが使用されます。 システム単位の省略時のフォームはフォーム番号0 に対応し,次のオプションを使用します。
これらのオプションについては表 13-3 を参照してください。
システム単位の省略時のフォームを変更するには,次の形式でDEFINE /FORMコマンドを使用します。
DEFINE/FORM DEFAULT 0 /修飾子
省略時の下マージンを6から4に変更し,ページ長を66から55に変更するには, 次のコマンドを入力します。
$ DEFINE/FORM DEFAULT 0/MARGIN=(BOTTOM=4)/LENGTH=55
カスタマイズしたフォームを作成するには,次の操作を実行します。
DEFINE/FORM フォーム名 フォーム番号[/修飾子]
省略時のフォームをキューに割り当てなかった場合には,キューはシステム単位の省略時のフォームを使用する。
$ PRINT_REPORT :== PRINT/FORM=REPORT
フォームを作成する場合には,表 13-3 に示した修飾子を指定できます。
修飾子 | 働き |
---|---|
/WIDTH=n | 用紙の物理的な幅を示す文字数を指定する。 |
/LENGTH=n | 用紙の物理的な長さを示す文字数を指定する。 |
/[NO]TRUNCATE | /WIDTHと/MARGIN値で決まる行幅を超えた文字を廃棄するよう指定する( 第13.6.7.8 項を参照)。 |
/[NO]WRAP | /WIDTHと/MARGIN値で決まる行幅を超えた文字を次行送りするよう指定する( 第13.6.7.8項を参照)。 |
/MARGIN= (オプション=n[,...]) | マージンの空白スペース数を指定する。 マージンはBOTTOM,LEFT,RIGHT,TOPの4 つ。 |
/[NO]PAGE_SETUP= (モジュール[,...]) | 各ページの始まりで装置を設定する装置制御モジュールを指定する( 第13.6.8.4 項を参照)。 |
/SETUP=(モジュール [,...]) | 各ファイルの始まりで装置を設定する装置制御モジュールを指定する( 第13.6.8.4 項を参照)。 |
/[NO]SHEET_FEED | 新しい用紙を挿入できるよう,各物理ページの終わりでのプリント・ ジョブの一時停止を指定する。 |
/STOCK=文字列 | フォームに対応付ける用紙ストックのタイプを指定する。 |
/DESCRIPTION=文字列 | フォームに関する情報を提供する文字列を指定する。 |
用紙ストックを変更せずに,書式オプションを変更するだけの目的でフォームを作成する場合は, 個々のフォームについて同じストック・タイプを指定してください。 そのように指定しておけば,それらのフォームのどれをジョブが必要としても, キューを変更するためのコマンドを入力する必要がなくなり, 同じキューでプリントが行われます。
/STOCK修飾子を使用しないかぎり,フォームのストックはフォーム名と同じです。
次は,フォーム名をMEMO,フォーム番号を3,でフォームを定義している例です。 フォームの書式オプションも定義しています。
$ DEFINE/FORM MEMO 3/STOCK=DEFAULT - _$ /MARGIN=(TOP=2,BOTTOM=2,LEFT=6)/WIDTH=80/LENGTH=66/TRUNCATE - _$ /DESCRIPTION="LN03 indented memo format"
PRINTコマンドによるキュー登録時に/FORM修飾子が指定されなかった場合, ジョブは,それが置かれている実行キューの省略時のフォームを使用します。
出力実行キューに省略時のフォームを割り当てる場合は,INITIALIZE /QUEUE,START/QUEUE,SET QUEUEのいずれかのコマンドに,次の形式で/DEFAULT 修飾子を使用します。
省略時のフォームが設定されていない場合,キューはシステム単位の省略時のフォームのDEFAULT を使用します。
次の例では,SET QUEUEコマンドはLN03_PRINTキューの省略時のフォームをLN03_PORTRAIT に変更します。
$ SET QUEUE/DEFAULT=FORM=LN03_PROTRAIT LN03_PRINT
キューへのフォームのマウントは,INITIALIZE/QUEUE,START/QUEUE,SET QUEUEのいずれかのコマンドに,次の形式で/FORM_MOUNTED修飾子を使用することによって行います。
INITIALIZE/QUEUE/FORM_MOUNTED=タイプ
タイプはDEFINE/FORMコマンドで定義されるフォーム名または番号です。
ストックが一致しないためにプリント・ジョブが保留状態になっている場合には, プリンタのストックを要求されたストックに変更し,要求されたストックに関連付けられたフォームをキューにマウントするか, または第13.8.2.1項で説明している他のいずれかの処理を実行します。
定義済みのフォームを削除する場合は,次の例に示すようにDCLのDELETE /FORMコマンドを使用します。
$ DELETE/FORM MEMO
DELETE/FORMコマンドには,フォーム番号ではなく,フォーム名を指定する必要があります。 フォーム番号は分かっているが,フォーム名が分からないという場合は,SHOW QUEUE/FORM コマンドを使用して,システムに定義されているフォーム名とフォーム番号を調べることができます。
キューまたはジョブがフォームを参照している場合,システムからは次のメッセージが返されます。
%DELETE-E-NOTDELETED, error deleting form-name -JBC-E-REFERENCED, existing references prevent deletion
フォームを削除するためには,フォームに対する参照をすべて削除しておく必要があります。 フォームに対する参照の削除については,第13.8.5項を参照してください。
プリント・シンビオントが整形しても,行やページの長さがプリンタの行幅やページ長を超えることがあります。 そうした場合は,キュー・オプションを使用して, 行あふれやページあふれを制御することができます。
行あふれは,フォーム定義で制御することをおすすめします。このためには, 物理的な装置幅の限界に達する前に行送りや行切り詰めを行わないよう, ターミナルとプリンタを設定する必要があります。
左右と上下マージンの設定は,フォームごとに変えることができます。そしてユーザは, フォームを使ってページあふれと行あふれを制御することにより, 別のフォームに切り換えることができます。このときオペレータがキューを停止させて, 装置の設定を変更し,再度キューを起動させるという必要はありません。 キュー・マネージャは,現在マウントされているフォームと同じストックを使って自動的に任意のフォームをマウントします。 オペレータ支援が必要になるのは,現在マウントされているフォームのストックと, 異なるストックのフォームをマウントする場合だけです。 詳細は第13.8.2.1項を参照してください。
行あふれを制御したい場合は,DCLのDEFINE/FORMコマンドでフォームを作成するときに, 表 13-3で説明されている/[NO]TRUNCATE と/[NO]WRAPの修飾子を指定します。
ページあふれを制御する場合は,INITIALIZE/QUEUE,START/QUEUE,またはSET QUEUE コマンドで/DEFAULT=[NO]FEED修飾子を使用します。この修飾子は, シンビオントがデータの下マージン部分へのあふれを検出したときに, 改ページ文字を自動的に挿入するかどうかを制御します。ユーザは, PRINT/FEEDまたはPRINT/NOFEEDコマンドを使用して,キューに指定された改ページ・ オプションの省略時の設定を変更できます。
ユーザはまた,PRINTコマンドに/PASSALL修飾子を指定して,プリント・ シンビオントが行うあらゆるフォーマッティング処理(改行を含む)をバイパスできます。 省略時の設定は/NOPASSALLです。/PASSALL修飾子は,プリント・ シンビオントによるフォーマッティングが希望するフォーマッティングと異なる場合に使用してください。/PASSALL 修飾子を使用すると,すべてのフォーマッティングを上書きして, プリント・シンビオントはデバイス・ ドライバに入出力を送ります。
プリント・キューを開始すると,改ページが出力装置に送られて,印刷が始まる前に, 用紙がページの一番先頭にくるように設定されます。初期改ページのために, キュー開始時に,空白のページが印刷されます。
初期改ページを実行しないようにするには,INITIALIZE/QUEUE,SET QUEUE,START/QUEUEコマンドのいずれかに/NO_INITIAL_FF修飾子を指定します。
装置制御ライブラリは,ユーザが作成したテキスト,またはエスケープ・ シーケンスのモジュールから構成されるテキスト形式のライブラリです。 装置制御ライブラリ・モジュールを使用すると, 次の操作を実行できます。
装置制御モジュールは次の3種類あり,それぞれプリント・ジョブ内での位置によって区別されます。
モジュール・タイプ | 説明 |
---|---|
SETUPモジュール | ファイルの先頭に挿入。 |
PAGE_SETUPモジュール | 各ページの先頭に挿入。 |
RESETモジュール | 各ジョブの終わりに挿入。ジョブの最後でプリンタを既知状態に再設定するときに使用する。 |
装置制御ライブラリ・オプションを使用する手順は次のとおりです。
プリント・ジョブを処理するために,装置制御ライブラリ・モジュールをセットアップするコマンドを次に示します。
コマンド | 説明 |
---|---|
DEFINE/FORM/SETUP | ジョブの各ファイルの先頭に, 装置を設定する1つ以上のモジュールを指定する。 |
DEFINE/FORM/[NO]PAGE_SETUP | ジョブの各ページの先頭に, 装置を設定する1つ以上のモジュールを指定する。 |
INITIALIZE/QUEUE/LIBRARY START/QUEUE/LIBRARY | 装置制御ライブラリのファイル名を指定する。 |
INITIALIZE/QUEUE/SEPARATE=[NO]RESET START/QUEUE/SEPARATE=[NO]RESET SET QUEUE/SEPARATE=[NO]RESET | キューのジョブ・リセット・ シーケンスを格納した1つ以上の装置制御ライブラリ・モジュールを指定する。 |
PRINT/FORM | プリント・ジョブに関連付けたフォームの名前または番号を指定する。 |
装置制御モジュールは,次の順序でプリンタに送られます。
以降の節では,装置制御ライブラリの管理方法を説明します。
装置制御ライブラリの作成とモジュールの登録は,次の手順で行います。
LIBRARY/CREATE/TEXT SYS$COMMON:[SYSLIB] ファイル名.TLB
LIBRARY/INSERT/TEXT ライブラリ・ファイル モジュール・ファイル
ライブラリの作成とモジュールの登録のさらに詳しい内容については,『OpenVMS Command Definition, Librarian, and Message Utilities Manual』を参照してください。
装置制御ライブラリをキューに割り当てるためには,INITIALIZE/QUEUEかSTART/QUEUE コマンドに,次の形式で/LIBRARY修飾子を指定します。
INITIALIZE/QUEUE/LIBRARY=ファイル名 キュー名
ファイル名は,使用したいモジュールが入っているライブラリ・ ファイル名です。
ライブラリはSYS$LIBRARYに存在し,ファイル・タイプが.TLBである必要があります。/LIBRARY 修飾子が省略された場合は,省略時のライブラリのSYS$LIBRARY:SYSDEVCTL.TLB になります。これ以外の装置制御ライブラリを使用する場合は, 次の例に示すように/LIBRARY修飾子を使用してください。
$ INITIALIZE/QUEUE/LIBRARY=LN03DEVCTL LN03_A_QUE
特定の装置制御ライブラリ・モジュールが必要な操作では,キューに指定されたライブラリの該当するモジュールが使用されます。 ライブラリを使用する場合には, 次のガイドラインに従ってください。
3つのライブラリに横長方向にプリンタを設定するモジュールが格納されている場合, これらのモジュールには3つのすべてのライブラリでLANDSCAPE という名前を付けます。このようにしておくと,それぞれのモジュールには異なる装置固有のシーケンスが格納されますが, ライブラリに指定した名前のモジュールが格納されているどのキューに対しても, 同じフォームを使用できます。
特定のライブラリに格納されているすべてのモジュールを表示するには, 次のコマンドを使用します。
LIBRARY/LIST/FULL SYS$LIBRARY:ライブラリ名.TLB
キューに対して設定モジュールまたはページ・セットアップ・モジュールを指定するためには,DEFINE/FORM コマンドに/SETUP=モジュール 修飾子,または/PAGE_SETUP=モジュール修飾子を指定します。/SETUP 修飾子に指定したモジュールは,ジョブの各ファイルのプリント前, フォームがマウントされたときにプリンタに送られます。同様に,/PAGE_SETUP 修飾子に指定したモジュールは,ジョブの各ページのプリント前にプリンタに送られます。
ユーザは,PRINTコマンドに次のいずれかの修飾子を指定することにより, モジュールを要求できます。
PRINT/FORM=フォーム/QUEUE=キュー名 ファイル指定
ユーザがPRINT/FORMコマンドを入力すると,フォーム名が正しいかどうか確認される。
PRINT/SETUP=モジュール ファイル指定
ユーザがPRINT/SETUPコマンドを入力すると,ジョブが印刷されるまで, モジュール名は確認されない。モジュール名に誤りがある場合には, ジョブは印刷されず,/NOTIFY修飾子を指定した場合を除き,そのことはユーザに通知されない。
出力実行キューにモジュールを割り当て,各ジョブの最後にプリンタを既知状態に再設定したい場合は, 次の例に示すように, INITIALIZE/QUEUE,START/QUEUE,SET QUEUEのいずれかのコマンドに, /SEPARATE=RESET=モジュール 修飾子を使用します。
/SEPARATE修飾子は必須キュー・オプションを指定するため,指定されたRESET モジュールは,あらゆるジョブの最後にキューに送られます。ユーザがこのオプションを変更することはできません。
次の例では,モジュールに含まれている再設定シーケンスにより,各ジョブの最後でプリンタは再設定されます。 また,最初のジョブが正しくプリントされるよう, この再設定はキューの起動時にも行われます。
$ INITIALIZE/QUEUE/LIBRARY=MYDEVCTL/SEPARATE=RESET=MODULE2 PDQ_QUE
次は,装置制御ライブラリ・モジュールを使用して,プリント・ジョブを処理している例です。 この例では,MODULE1とMODULE2という2つの装置制御モジュールを作成して, それをMYDEVCTL.TLBライブラリ・ファイルに登録しています。MODULE1 設定モジュールのエスケープ・シーケンスまたはテキストは,REPORT.TXT のプリント前とMEMO.TXTのプリント前にプリンタに送られ, プリンタを設定します。また,MODULE2設定モジュールのエスケープ・ シーケンスまたはテキストは, REPORTジョブの両方のファイルがプリントされた後の一度だけプリンタに送られます。
$ LIBRARY/CREATE/TEXT SYS$LIBRARY:MYDEVCTL.TLB $ EDIT MODULE1.TXT !enter printer escape sequences or text for module1 $ EDIT MODULE2.TXT !enter printer escape sequences or text for module2 $ LIBRARY/INSERT SYS$LIBRARY:MYDEVCTL.TLB/TEXT MODULE1 $ LIBRARY/INSERT SYS$LIBRARY:MYDEVCTL.TLB/TEXT MODULE2 $ INITIALIZE/QUEUE/START/ON=TTA9:/LIBRARY=MYDEVCTL PDQ_QUE $ SET QUEUE/SEPARATE=RESET=MODULE2 PDQ_QUE $ SHOW QUEUE/FULL PDQ_QUE Terminal queue PDQ_QUE, idle on TOAD::TTA9, mounted form DEFAULT /BASE_PRIORITY=4/DEFAULT=(FEED,FORM=DEFAULT)/LIBRARY=MYDEVCTL /OWNER=[1,4]/PROTECTION=(S:M,O:D,G:R,W:R)/SEPARATE=(RESET=(MODULE2)) $ DEFINE/FORM/SETUP=MODULE1/STOCK=DEFAULT FORM1 1 $ PRINT/FORM=FORM1 REPORT.TXT,MEMO.TXT/QUEUE=PDQ_QUE Job REPORT (Queue PDQ_QUE, entry 619) started on PDQ_QUE
キューの設定を終えたら,キューを監視および制御し,必要ならば変更も行います。
また,キューの設定はスタートアップ時に制限されません。通常の操作を行っている間, 必要に応じてキューを作成し,起動することができます。 後でキューを設定する場合には,第13.4 節の説明を参照してください。
後で追加出力キューを作成する場合には,次のことを確実に行ってください。
キューの作成と制御に使用される基本的なコマンドを表 13-4 に示します。自動起動型であるか非自動起動型であるかの区別によって効果が異なるかどうかも説明しています。
コマンド | 効果 | |
---|---|---|
自動起動キュー | 非自動起動キュー | |
ASSIGN/MERGE | ジョブを別のキューに移す。 | ジョブを別のキューに移す。 |
ASSIGN/QUEUE | 論理キューのジョブを実行キューに送る。 | 論理キューのジョブを実行キューに送る。 |
DELETE/QUEUE | キューを削除する。 | キューを削除する。 |
DISABLE AUTOSTART/QUEUES | ジョブの終了を待ってから, ノード・リストに登録されていて次に使用可能なノードに,各自動起動型キューをフェイルオーバさせる。 リストが指定されていない場合, そのキューは停止させられる。 | なし |
ENABLE AUTOSTART/QUEUES | ノードで動作可能な, アクティブな停止中の自動起動型キューをすべて起動する。 | なし |
INITIALIZE /QUEUE | キューを作成する。/AUTOSTART_ON修飾子は, キューを実行できるノード(1または複数)および装置を指定する。 | キューを作成する。キューを動作させるノード,またはノードと装置の指定には,/ON 修飾子を使用する。 |
INITIALIZE/QUEUE/START | キューを作成して, その自動起動機能をアクティブにする。/AUTOSTART_ON修飾子はキューを実行できるノード(1 または複数)および装置を指定する。 | キューを作成して,起動する。キューを動作させるノード,またはノードと装置の指定には,/ON 修飾子を使用する。 |
SET QUEUE | キューを変更する。 | キューを変更する。 |
SHOW QUEUE | キュー情報を表示する。 | キュー情報を表示する。 |
START/QUEUE | キューの自動起動機能をアクティブにする。 | キューを起動する。 |
STOP/QUEUE | キューを一時停止させる。 | キューを一時停止させる。 |
STOP/QUEUES/ON_NODE | キュー・マネージャを停止させることなく,ノードの現在のジョブを終了させ, すべてのキューを停止させる。 | キュー・マネージャを停止させることなく, ノードの現在のジョブを終了させ,すべてのキューを停止させる。 |
STOP/QUEUE/NEXT | 現在のジョブの終了を待ってから,キューを停止させ, その自動起動機能を非アクティブする。 | 現在のジョブの終了を待ってから, キューを停止させる。 |
STOP/QUEUE/RESET | ただちにキューを停止させ,その自動起動機能を非アクティブにする。 | ただちにキューを停止させる。 |
以降の節では,キューの管理におけるこれらの作業について説明しています。
作業 | 参照箇所 |
---|---|
キューの監視 | 第13.7.1.1 項 |
キューの変更 | 第13.7.1.2項 |
キューの一時停止 | 第13.7.1.3項 |
キューのクローズ | 第13.7.1.4項 |
キューの停止 | 第13.7.1.5項 |
自動起動型キューの起動禁止 | 第13.7.1.6 項 |
ノード上の自動起動の禁止 | 第13.7.1.7 項 |
ノード上のすべてのキューの停止 | 第13.7.1.8項 |
システムのシャットダウン前のキューの停止 | 第13.7.1.9項 |
論理キューの割り当て | 第13.7.1.10項 |
別のキューへのすべてのジョブの移動 | 第13.7.1.11 項 |
キューの削除 | 第13.7.1.12項 |
DCLのSHOW QUEUEコマンドを使用して,キューの状態を表示し,監視することができます。 次の形式でSHOW QUEUEコマンドを入力します。
SHOW QUEUE [/修飾子,...] [キュー名]
修飾子とキュー名のどちらも省略された場合,システムは,そこに存在するすべてのキューと, コマンド実行者が所有するすべてのジョブの状態を表示します。 修飾子には,キューのタイプや表示する情報量を指定することができます。
表示する情報を指定するための修飾子は次のとおりです。
修飾子 | 説明 |
---|---|
/BY_JOB_STATUS [=キーワード・リスト] | 指定された状態のジョブを保持しているキューを表示する。
指定可能なキーワードは次のとおり。
EXECUTING HOLDING PENDING RETAINED TIMED_RELEASE キーワードが省略された場合,省略時の設定ではすべての状態のキューが表示される。 ジョブ状態については,表 13-6を参照。 |
/BATCH | バッチ実行キューの状態を表示する。 |
/DEVICE[=キーワード・ リスト] | 出力実行キューを表示する。次のキーワードを指定することによって,
表示する実行キューのタイプが選択可能。
PRINTER TERMINAL SERVER キーワードが省略された場合は,すべてのタイプの出力キューが表示される。 |
/GENERIC | 汎用キューの状態を表示する。 |
表示する情報量を指定するための修飾子は次のとおりです。
修飾子 | 説明 |
---|---|
/ALL_JOBS | 選択されたキューのすべてのジョブに関する情報を表示する。 |
/BRIEF | キューのジョブに関する情報を簡単なリスト形式で表示する。この形式はSHOW QUEUE コマンドの省略時の表示形式。 |
/FILES | 各ジョブに関係するファイルのリストも表示する。 |
/FULL | キューとジョブに関するすべての情報とともに, キューに設定されているACLも表示する。 |
/SUMMARY | 動作中と保留中, 保持中,保持,そして指定時刻解放ジョブの合計を表示する。 ジョブ自体は表示されない。 |
いくつかの修飾子を組み合せることによって,表示するキューをもっと細かく指示することもできます。
SHOW QUEUEコマンドによって返されるキュー状態は,表 13-5 に示すとおりです。
キュー状態 | 説明 |
---|---|
Aligning | キュー・マネージャがSTART/QUEUE/ALIGN コマンドを処理中である。 |
Autostart inactive | 停止しており,アクティブにする必要がある( 第13.8.4項を参照)。 |
Available | 少なくとも1つのジョブを処理中であるが, さらに同時に処理可能。 |
Busy | ジョブの処理中のため,これ以上ジョブは処理不可能。 |
Closed | クローズされており, オープンするまでジョブを受け付けられない(第13.7.1.4項を参照)。 |
Device unavailable | 割り当てられている装置は使用不可。 |
Idle | ジョブ処理を行っておらず, 処理可能な状態。 |
Paused | キュー・マネージャがSTOP/QUEUEコマンドを処理中。 |
Pausing | キュー・ マネージャがSTOP/QUEUEコマンドを処理中。 |
Remote | 割り当てられている物理装置がローカル・ システムに接続されていない。 |
Resuming | キュー・マネージャが休止中のSTART/QUEUEコマンドを処理中。 |
Server | キュー処理はサーバ・ シンビオントに切り換え可能。 |
Stalled | 装置関連の問題でシンビオント処理が一時的に停止中。 |
Starting | 起動されたが,シンビオント・プロセスがアクティブではない。 |
Stopped | 停止中であり, 起動されるまで処理は行われない。 |
Stop pending | 現在のジョブが実行終了すると,停止状態になる。 |
Stopping | 停止処理中。 |
システムで使用可能なフォームや特性を確認したい場合は,それぞれDCL のSHOW QUEUE/FORMとSHOW QUEUE/CHARACTERISTICコマンドを使用します。
コマンド・プロシージャでF$GETQUIレキシカル関数を使用すると,表示するキュー情報をさらに細かく指定することができます。F$GETQUI 関数は$GETQUI システム・サービスを起動し,キュー・データベースに保持されている情報を返します。
F$GETQUIレキシカル関数を使用して情報を得ることが可能なオブジェクトのタイプは次のとおりです。
たとえば,すべてのプリンタ・キューにおける保留状態のジョブの総ブロック数を表示するコマンド・ プロシージャを作成することができます。ジョブ情報やファイル情報を得るためには, ジョブに対する読み込みアクセス権,SYSPRV 権,OPER権のいずれかを所有している必要があります。
F$GETQUIレキシカル関数が起動するシステム・サービス($GETQUI)については, 『OpenVMS System Services Reference Manual』を参照してください。
$ SHOW QUEUE/SUMMARY/DEVICE=(PRINTER,TERMINAL) Printer queue HERA_LPA0, busy, on HERA::LPA0, mounted form DEFAULT <Printer queue on node HERA for a line printer> Job summary: 1 executing Printer queue HERA_LPB0, busy, on HERA::LPB0, mounted form DEFAULT <Printer queue on node HERA for a line printer> Job summary: 1 executing Generic printer queue CLUSTER_PRINT <Generic printer queue for LPA0: and LPB0:> Job summary: 1 holding Terminal queue LQ_PRINT, stopped, on HERA::TXA7:, <Letter quality printer in Bob's office> mounted form PORTRAIT_INDENTED (stock=DEFAULT) Job summary: 2 pending (445 blocks), 1 holding
$ SHOW QUEUE/FULL/ALL/BY_JOB_STATUS=EXECUTING Batch queue HERA_BATCH, available, on HERA:: /AUTOSTART_ON=(HERA::) /BASE_PRIORITY=3 /JOB_LIMIT=25 /OWNER=[SYSTEM] /PROTECTION=(S:M,O:D,G:R,W:R) Entry Jobname Username Status ----- ------- -------- ------ 700 VUE SMITH Executing Submitted 25-FEB-1998 14:46 /KEEP /NOLOG /NOPRINT /PRIORITY=100 File: _$333$DISK1:[SMITH.COM]VUE.COM;19 (executing) Batch queue ZZ_BATCH, available, on ZZ:: /AUTOSTART_ON=(ZZ::) /BASE_PRIORITY=3 /JOB_LIMIT=25 /OWNER=[SYSTEM] /PROTECTION=(S:M,O:D,G:R,W:R) Entry Jobname Username Status ----- ------- -------- ------ 874 PIPE FITZGERALD Executing Submitted 26-FEB-1998 11:25 /KEEP /NOTIFY /NOPRINT /PRIORITY=100 /RESTART=CLUSTER_BATCH /RETAIN=UNTIL="0 01:00" File: _$333$DISK1:[FITZGERALD]PIPE.COM;2 (executing) Server queue NM$QUE01, available, on HERA::, mounted form DEFAULT /BASE_PRIORITY=4 /DEFAULT=(FEED,FORM=DEFAULT) /OWNER=[DOC,SMITH] /PROCESSOR=NM$DAEMON /PROTECTION=(S:M,O:D,G:R,W:R) /RETAIN=ERROR Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 236 NM ROSENBERG 12 Processing Submitted 23-FEB-1998 08:42 /FORM=DEFAULT /PRIORITY=100 File: _$5$DISK3:[FOLK$.NM]NM$J1991072308340647.WRK;1
INITIALIZE/QUEUE,START/QUEUE,SET QUEUEのいずれかのコマンドを使用して, キュー・オプションを変更することができます。このとき,キュー・ データベースのキュー情報は,変更に合わせて更新されます。3つのコマンドのうち,SET QUEUE コマンドを停止中のキューに対して使用することはできません。
SET QUEUEコマンドを使用すると,キューを停止させることなく,多くのキュー・ オプションを変更することができます。動作中のバッチ・キューSYS$BATCH を変更するコマンドの例を次に示します。
$ SET QUEUE/JOB_LIMIT=4/DISABLE_SWAPPING SYS$BATCH
このコマンドでは,キューのジョブ制限を変更し,SYS$BATCHで処理されるすべてのジョブについてスワッピングを禁止しています。 これ以外のキュー・ オプションが変更されることはありません。変更したオプションが現在実行中のジョブに作用することはありませんが, 以降のジョブはすべて, 新しいオプションを有効にした状態で実行されます。
SET QUEUEコマンドで変更不可能なキュー・オプションは,次の手順で変更することができます。
指定しなかった修飾子は,前回初期設定,起動,または設定したときの状態のままである。
既存のキューを初期設定することによって,キューに現在存在するジョブが削除されることはありません。INITIALIZE/QUEUE コマンドによって新たに設定したキュー・ オプションは,キューで待ち状態になっているすべてのジョブ, あるいは以降キューに登録されたすべてのジョブに作用します。
バッチ・キューと出力キューに使用可能なオプションについては,表 13-1 を参照してください。
DCLコマンドSTOP/QUEUEを(修飾子を何も指定せずに)使用すると,キューに登録されているすべての現在のジョブの実行を一時的に停止させ, キューを一時停止状態にすることができます。出力キューの場合は,一時停止させることによって, プリント・ジョブの配置コマンドや位置調整コマンドを, プリント・シンビオントに対して発行することが可能です。SET/QUEUE コマンドによるプリント・ジョブの制御については,第13.7.2.7項で詳しく説明します。
一時停止させたキューの実行を再開する場合は,DCLのSTART/QUEUEコマンドを入力します。
プリンタの修理などの理由でキューが長い時間使用不能になる場合は, SET QUEUE,INITIALIZE/QUEUE,START/QUEUEのいずれかのコマンドに/CLOSE 修飾子を指定すると,新しいジョブがキューに登録されるのを防ぐことができます。 すなわち,/CLOSE修飾子は,ユーザがPRINTコマンドやSUBMIT コマンドでキューにジョブを登録するのを禁止します。ユーザがジョブをプリントしようとする, またはクローズされたキューにジョブを登録しようとすると, ジョブが拒否され,ユーザはキューがクローズされている旨の通知を受けます。
$ PRINT/QUE=$PRINTER_1 REPORT.TXT; %PRINT-F-CREJOB, error creating job -JBC-E-QUE_CLOSED, queue closed, jobs not accepted
キューに現在あるジョブが影響を受けることはありません。
キューが使用可能になったら,/OPEN修飾子を使用してキューをオープンし, ジョブのキュー登録を可能にします。
キューを停止させたい場合は,次のいずれかのコマンドを使用します。
コマンド | 説明 |
---|---|
STOP/QUEUE/NEXT | 実行中のすべてのジョブの終了を待ってから, キューを停止する。このコマンドが入力された場合, 新しいジョブは実行されない。 |
STOP/QUEUE/RESET | キューをただちに停止させて,システムに制御を戻す。
現在実行中のジョブはただちに停止する。
エラー終了したジョブの保持を設定していない場合は,このコマンドを使ってキューを停止する前に SET QUEUE/RETAIN=ERROR コマンドを入力すること。 これにより,エラー終了したジョブに関する情報をキューに残すことができる。 プリント・ジョブに対してエラー発生時の保持を指定している場合は, SET ENTRY/RELEASE/NOCHECKPOINTコマンドを使用して,中断したジョブを最初から再起動できる。 省略時の設定では,プリント・ジョブは再起動可能, バッチ・ジョブは再起動不可能。バッチ・ジョブを再起動可能にするためには,/RESTART 修飾子を指定してジョブをキュー登録しておくこと。 |
第13.7.1.6項で説明するように, これらのコマンドは, 自動起動キューに対してキューの自動起動を非アクティブ化します。 停止中の非自動起動キューを再起動,または非アクティブ化されている自動起動キューのアクティブ化にはSTART/QUEUE コマンドを入力してください。
自動起動型キューが存在するシステムでSTOP/QUEUE/NEXTまたはSTOP /QUEUE/RESETコマンドを実行すると,START/QUEUEコマンドを入力するまでキューが停止し, 自動起動機能が非アクティブになります。
DISABLE AUTOSTART/QUEUESコマンドは,ノードに対して次のことを行うようキュー・ マネージャに指示します。
省略時の設定では,DISABLE AUTOSTART/QUEUESコマンドは,このコマンドが入力されたノードでのみ有効です。 別のノードで自動起動機能を禁止するには,/ON_NODE 修飾子を指定します。
DISABLE AUTOSTART/QUEUESコマンドは,ノードをシャットダウンする前に使用します。 詳細は第13.7.1.9項を参照してください。
キュー・マネージャを停止させずにノードのすべてのキューを停止したい場合は,DCL のSTOP/QUEUES/ON_NODEコマンドを使用します。省略時の設定ではこのコマンドは, それが入力されたノードにしか作用しません。別のノードのキューを停止させたい場合は, 次に示すように,/ON_NODE修飾子の後に停止したいノード名を指定します。
STOP/QUEUES/ON_NODE=ノード名
STOP/QUEUES/ON_NODEコマンドが入力されると,非自動起動型キューと, フェイルオーバ・リストのない自動起動型キューが停止します。そしてフェイルオーバ・ リストを指定して作成または起動された自動起動型キューは, そのリストに登録されていて,自動起動機能が有効なノードのうちの次に使用可能なノードにフェイルオーバします。
自動起動型キューで現在実行中のジョブを最後まで実行させたい場合は, DISABLE AUTOSTART/QUEUESコマンドを入力して,ジョブの終了を待ち, それからSTOP/QUEUES/ON_NODEコマンドを入力してください。詳細は第13.7.1.9項を参照してください。
シャットダウン・コマンド・プロシージャSYS$SYSTE:SHUTDOWN.COMには次のコマンドが含まれており,SHUTWOND.COM を使用してノードをシャットダウンすると, 自動的に実行されます。
STOP/QUEUES/ON_NODEコマンドはジョブを途中で終了させ,ノードのすべてのキューを停止します。 一方,DISABLE AUTOSTARTコマンドは自動起動型キューのジョブの終了を待ち, それから,フェイルオーバか自動起動型キューの停止のいずれかの処理を行います。 システムで自動起動型キューを使用している場合は, ジョブを終了させてから,それらキューを停止することをおすすめします。
SHUTDOWN.COMでは,STOP/QUEUES/ON_NODEコマンドがノードのシャットダウンのすぐ前に実行されます。 そして,DISABLE AUTOSTART/QUEUESコマンドとシャットダウンまでの間隔を指定することにより, 自動起動型キューを停止する前にジョブが終了する猶予時間を与えることができます。
方法は次のいずれかです。
タイミング | 方法 |
---|---|
SHUTDOWN.COMの実行前 | 次の形式で論理名SHUTDOWN$DISABLE_AUTOSTART
を定義し,時間間隔(単位:分)を設定する。
/SYSTEM/EXECUTIVE_MODE SHUTDOWN$DISABLE_AUTOSTART分数 |
SHUTDOWN.COMの実行中 | 次の形式でシャットダウン・
オプションに時間間隔(単位:分)を指定する。
Shutdown options [NONE]:DISABLE_AUTOSTART=分数 |
自動起動型キューのジョブ数やジョブ・タイプに基づいて適当な時間間隔を決定してください。
SHUTDOWN.COMを使用せずにノードをシャットダウンする場合は,DISABLE AUTOSTART/QUEUESコマンドを入力して,数分ほどジョブが終了するのを待ち, それからSTOP/QUEUES/ON_NODEコマンドを入力することをおすすめします。
プリント装置に問題が発生した場合は,その装置に対応付けられているキューの内容を, 正しく動作する装置に対応付けられているキューに移し換えることができます。 この操作を実行するには,論理キューを作成します。 ジョブを別のキューに移動するために論理キューを作成するには,次の手順に従ってください。
STOP/QUEUE/NEXT キュー名[:]
このコマンドは新しいジョブの処理を禁止し,プリント装置が動作不能でないならば, 現在のジョブが最後まで処理されるのを可能にする。 装置が動作不能な場合は,STOP/QUEUE/RESETコマンドを使用してキューを停止し, ただちに装置へのすべての出力を取り消す。
ASSIGN/QUEUE キュー名[:] 論理キュー名[:]
新しいプリント装置のオプションに新しいジョブの処理に問題となるものがないか調べること。
論理キューを割り当て解除する場合は,次のコマンドを使用します。
DEASSIGN/QUEUE 論理キュー名[:]
キューを削除する前に,そこに登録されているすべてのジョブを別のキューに再登録したい場合があります。 そうした場合は,次の形式のASSIGN /MERGEコマンドを使用します。
ASSIGN/MERGE ターゲット・キュー ソース・キュー
ターゲット・キューはジョブの移動先のキュー,ソース・キュー は削除するキューです。
ASSIGN/MERGEコマンドは,ソース・キューに現在存在するすべてのジョブをターゲット・ キューに移動します。削除前にソース・キューに新しいジョブが登録された場合, そのジョブはソース・キューに残り,ターゲット・ キューに転送されません。したがって,ASSIGN/MERGEコマンドを入力する場合は, 第13.7.1.4項で説明するように, キューをクローズして,新しいジョブがキューに登録されないようにしてください。
ジョブの出力先を変更する場合は,第13.7.1.10 項で説明したASSIGN/QUEUEコマンドを使用します。
キューを削除する手順は次のとおりです。
システム管理者は,バッチ・ジョブやプリント・ジョブの流れを制御したり, 効率的なジョブ処理のパフォーマンスを維持する操作を行います。そうしたジョブ管理のために行う日常的な作業として, 次の作業があります。
作業 | 参照箇所 |
---|---|
ジョブの監視 | 第13.7.2.1 項 |
ジョブ処理オプションの変更 | 第13.7.2.2 項 |
ジョブの保持と解放 | 第13.7.2.3項 |
実行中のジョブのキュー再登録 | 第13.7.2.4項 |
保留中のジョブのキュー再登録 | 第13.7.2.5項 |
ジョブの削除 | 第13.7.2.6 項 |
ジョブのプリント位置と位置調整の制御のための出力キューの一時停止 | 第13.7.2.7項 |
バッチおよびプリント・ジョブの状態を監視する場合は,DCLのSHOW ENTRY コマンドを使用します。ジョブの状態については,表 13-6 を参照してください。
次の形式でSHOW ENTRYコマンドを入力します。
SHOW ENTRY [エントリ番号[,...]], [ジョブ名[,...]]
エントリ番号もジョブ名も省略された場合,システムは,コマンドを入力したユーザまたは/USER_NAME 修飾子に指定されたユーザが所有するすべてのジョブの状態を表示します。 また,ジョブ名が指定された場合は,コマンドを入力したユーザあるいは/USER_NAME 修飾子に指定されたユーザが所有するジョブのうち, 指定された文字列に一致するジョブの状態を表示します。 コマンド行にエントリ番号またはジョブ名のリスト,あるいはその両方を指定することによって, 複数のジョブの状態を表示することもできます。
SHOW ENTRYコマンドには,表示するジョブ情報のタイプを指示する修飾子を指定することもできます。 詳細は『OpenVMS DCLディクショナリ』を参照してください。
表 13-6は,SHOW ENTRYコマンドによって返されるジョブ状態をまとめたものです。
状態 | 説明 |
---|---|
Aborting | 実行中のジョブが正常終了の前に停止し, 処理が継続されない。 |
Executing | バッチ・キューから実行中。 |
Holding | 明示的に解放指示があるまで保持( 第13.7.2.3項を参照) 。 |
Pending | 実行待ち( 第13.8.2項を参照)。 |
Printing | プリンタまたはターミナル・キューから実行中。 |
Processing | サーバ・キューから実行中。 |
Retained | 実行終了までキューに残されているジョブ(第13.6.2.3項を参照)。 |
Stalled or Suspended | 処理中にジョブが停止した。 ただし,原因が解決されれば処理は継続される。 |
Starting | ジョブの処理が開始されるところ。 |
Timed_release | ジョブは指定された時間だけ実行前にキューで保持される。 |
$ SHOW ENTRY/USER_NAME=GARDNER Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 4 TEST GARDNER Holding On available batch queue OPAL_BATCH 611 SET GARDNER 140 Pending On stopped printer queue LQPRINT
$ SHOW ENTRY/FULL 4,611 Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 4 TEST GARDNER Holding On available batch queue OPAL_BATCH Submitted 15-JAN-1998 16:12 /LOG=_$5$DUA1:[GARDNER]TEST.LOG; /PRIORITY=100 File: _$5$DUA1:[GARDNER]TEST.COM;8 611 SET GARDNER 140 Pending (queue stopped) On stopped printer queue LQPRINT Submitted 21-JAN-1998 16:23 /FORM=DEFAULT /PRIORITY=200 File: _$5$DUA1:[GARDNER]SET.TXT;5 File: _$5$DUA1:[GARDNER]WAIT.TXT;1
多くのジョブ処理オプションは,次の形式でSET ENTRYコマンドを使用することによって変更することができます。
SET ENTRY/修飾子[,...] エントリ番号
表 13-7は,ジョブ処理オプションの変更でよく使用される修飾子をまとめたものです。SET ENTRY コマンドで変更可能なすべての処理オプションについては, 『OpenVMS DCLディクショナリ』を参照してください。
修飾子 | 説明 | 参照箇所 |
---|---|---|
/[NO]AFTER=時刻 | 指定時刻になるまでジョブを保持するかどうか指示する | 第13.7.2.3項 |
/CHARACTERISTICS =(特性[,...]) | バッチまたはプリント・ジョブに割り当てられている特性の名前または番号を指定する | 第13.6.3項 |
/FORM=フォーム名 | プリント・ジョブに対応付けるフォームの名前または番号を指定する | 第13.6.7項 |
/[NO]HOLD | ジョブをただちに処理可能な状態にするか, または解放要求があるまで保持するかを指示する | 第13.7.2.3 項 |
/PRIORITY=n | ジョブのスケジューリング優先順位を指定する | 第13.6.5.2項 |
/RELEASE | 保持されていたジョブを解放する | 第13.7.2.3 項 |
/REQUEUE=キュー名[:] | ジョブを指定キューに移すように要求する。STOP/QUEUE /REQUEUE/ENTRYと同様。 | 第13.7.2.5 項 |
/RESTART | システム障害の発生後,またはSTOP/QUEUE/REQUEUEコマンドの実行後に, バッチまたはプリント・ジョブを再起動するかどうかを指定する。 プリント・ジョブは省略時の設定で再起動可能。バッチ・ジョブは,/RESTART 修飾子をキュー登録されるか,または変更された場合にだけ再起動できる。 |
ユーザは,PRINT,SUBMIT,SET ENTRYコマンドで次のいずれかの修飾子を指定することにより, 処理の前にジョブを保持するよう指定することができます。
ジョブを保持し,解放するためのコマンドは次のとおりです。
コマンド | 目的 |
---|---|
SET ENTRY/HOLD | キューに無期限にジョブを保持する。 |
SET ENTRY/AFTER=時刻 | 指定した時刻まで,キューのジョブを保持する。 /AFTER修飾子を指定するには,指定した時刻までジョブを保持した後で解放するために,/NOHOLD 修飾子も指定しなければならない。 |
SET ENTRY/NOHOLD | 次のいずれかの理由でキューに保持されていたキューを解放する。
|
SET ENTRY/NOAFTER | SET ENTRYコマンドで指定した時刻まで待ち状態になっているジョブを解放する。 |
SET ENTRY/RELEASE | 次のいずれかの理由でキューに保持されていたキューを解放する。
|
$ SET ENTRY 1121/AFTER=12-FEB-1998:17:30 $ SET ENTRY/NOAFTER
$ SET ENTRY 1121/AFTER=TODAY $ SET ENTRY/NOAFTER
$ SET ENTRY 1234/HOLD $ SET ENTRY 1234/RELEASE
実行中のプリント・ジョブを停止させて,キューに再登録する場合は, STOP/QUEUE/REQUEUEコマンドを使用します。このコマンドは,現在のジョブの実行を中断し, そのジョブを,指定したキューに再登録します。キューの他のジョブは, 処理されるまで保留状態になります。
$ STOP/QUEUE/REQUEUE=BETA_LPA0 BETA_LPB0 $ STOP/QUEUE/RESET BETA_LPB0
最初のコマンドで,プリント・ジョブのBET_LPB0での実行が停止されて,BET_LPA0 に再登録されます。2番目のコマンドは,BETA_LPB0キューを停止させます。
$ STOP/QUEUE/ENTRY=1251/REQUEUE=FRED_BATCH WILMA_BATCH
強制終了させたジョブを保持する場合は,次に示すように/HOLD修飾子を使用します。
STOP/QUEUE/REQUEUE[=キュー名]/HOLD[/ENTRY=エントリ番号] キュー名
/HOLD指定された強制終了ジョブは保持状態になるため,この状態を解除するには,SET ENTRY/RELEASE かSET ENTRY/NOHOLDコマンドを使用します。
強制終了させたジョブのスケジューリング優先順位を変更する場合は,次に示すように/PRIORITY 修飾子を使用します。
STOP/QUEUE/REQUEUE[=キュー名]/PRIORITY=n[/ENTRY=エントリ番号] キュー名
変更後の優先順位をnに指定します。
キューで保留中のジョブを他のキューに登録し直す場合は,次の例に示すようにSET ENTRY/REQUEUE コマンドを使用します。
$ SET ENTRY/REQUEUE=LN03$PRINT 196
この例では,196というジョブをLN03$PRINTというキューに移しています。
保留中または実行中のジョブを削除する手順は次のとおりです。
SHOW ENTRY/USER_NAME=ユーザ名 [エントリ番号]
SHOW QUEUE/ALL_JOBS [キュー名]
ジョブ名,ユーザ名,キュー名のいずれも分からない場合は,次のコマンドを入力する。
$ SHOW QUEUE/BATCH/ALL_JOBS/BY_JOB_STATUS=EXECUTING
DELETE/ENTRY=(エントリ番号)[,...]
たとえば,ジョブが無限ループに入っていることに気づいた場合,そのジョブの所有者でない限りそのジョブを停止することができません。 そのような場合, システム管理者は,たとえば次のようなコマンドを入力することになります。
$ SHOW QUEUE/BATCH/ALL_JOBS/BY_JOB_STATUS=EXECUTING Batch queue JADE_BATCH, available, on JADE:: Entry Jobname Username Status ----- ------- -------- ------ 312 ARTWORK HUNTER Executing Batch queue OPAL_BATCH, available, on OPAL:: Entry Jobname Username Status ----- ------- -------- ------ 317 STOCKS CHANDLER Executing Batch queue RUBY_BATCH, available, on RUBY:: Entry Jobname Username Status ----- ------- -------- ------ 888 TEMPO ENGLISH Executing $ DELETE/ENTRY=317
修飾子を指定せずにSTOP/QUEUEコマンドを入力し,出力キューを一時停止させることによって, プリント・シンビオントと会話型で通信することができます。 このとき,行えることとしては,たとえば次のような操作があります。
詳細は第13.7.2.7.1項を参照。
詳細は第13.7.2.7.2項を参照すること。
キューを一時停止させて,再起動した場合,省略時の設定ではプリントは, 現在のジョブのプリント停止位置近くのチェックポイントから再開されます。 現在のジョブのプリント再開位置を具体的に指定した場合は,次のいずれかの修飾子を指定して,START/QUEUE コマンドを入力してください。
修飾子 | 説明 |
---|---|
/BACKWARD[=n] | プリントを再開する前にファイルを後戻りさせるページ数を指定する。 省略時の値は1であり,この場合, プリントは現在のページの先頭から再開される。 |
/FORWARD[=n] | プリントを再開する前にファイルを先送りするページ数を指定する。 省略時の値は1であり,この場合, プリントは次ページの先頭から再開される。 |
/SEARCH="検索文字列" | 指定した検索文字列を含むページからプリントを再開するよう指定する。 文字列の検索は,現在のページの次のページから始めて順方向で行われる。 また,連続タブとスペースはスペース1 つとして扱われ,英字の大文字と小文字の区別は行われない。 文字列は1〜63文字の長さであり,引用符(" ")で囲まなければならない。 |
/TOP_OF_FILE | 出力実行キューが一時停止した時, 停止時に実行中であったファイルの先頭からプリントを再開するよう指定する。 |
START/QUEUEコマンドに複数の位置付け修飾子を指定する必要がある場合は, 次の順序で位置修飾子を指定してください。
$ STOP/QUEUE JADE_PRINT $ START/QUEUE/TOP_OF_FILE JADE_PRINT
$ START/QUEUE/TOP_OF_FILE/FORWARD=15 SYS_LPA0
サンプル・データをプリントして,プリント・フォームを位置調整したい場合は, いったんキューを一時停止させ,続いて,/ALIGN修飾子を指定したSTART/QUEUE コマンドを入力します。
START/QUEUE/ALIGN[=(オプション[,...])]
次のオプションを指定して,位置調整ページ数と位置調整データを制御することができます。
オプション | 説明 |
---|---|
MASK | 英字をX,数字を9に置き換えることによって, 入力データにマスクをかけるよう指示する。マスク文字を使用することにより, 重要な情報を隠すことができる。MASKオプションを省略した場合, 入力データはそのとおりにプリントされる。 |
n | プリントする位置調整ページ数を示す10 進数を指定する。指定可能な値は1から20の範囲であり,省略時の設定は1 ページ。 |
/ALIGN修飾子と,前項で説明したファイル位置付け修飾子を組み合せることができます。 この場合,ファイルの位置付けは,位置調整データをプリントする前に行われます。 位置調整が終了すると,キューはSTART/QUEUE コマンドによって再起動されるまで一時停止状態になります。プリントが再開されるのは, 位置調整のプリントが開始された位置からです。すなわち, ジョブは位置調整用にプリントされたページ分後戻りします。
次は,4ページ分の出力をマスク・データで位置調整するよう指示している例です。 この例では,キューが一時停止されたときに印刷されていたジョブのファイルはまず,2 ページ分後戻りし,その後で位置調整が実行されます。4 ページ分の位置調整マスク文字が印刷されます。その後,現在のジョブの出力は4 ページ前の位置に設定され,キューが一時停止します。
$ START/QUEUE/BACKWARD=2/ALIGN=(MASK,4) SYS_LPA0
この節では,キューでよく発生する問題を取り上げ,その対処方法を説明します。
問題 | 参照箇所 |
---|---|
一般的なプリンタの問題 | 第13.8.1 項 |
保留中のジョブのスケジューリング | 第13.8.2項 |
ストックの不一致 | 第13.8.2.1項 |
特性の不一致の問題 | 第13.8.2.2項 |
出力キューの一時停止 | 第13.8.3項 |
自動起動型キューの不起動 | 第13.8.4項 |
キューとフォーム,特性削除時の問題 | 第13.8.5項 |
プリント後のファイル削除時の問題 | 第13.8.6項 |
装置制御ライブラリのモジュール追加と削除時の問題 | 第13.8.7項 |
キューの使用不能 | 第13.8.8 項 |
プリンタに関連した一般的な問題の原因を究明する場合は,次の手順に従ってください。
SHOW QUEUE/FULL キュー名
キューの状態については,表 13-5を参照すること。
COPY入力ファイル名 出力ファイル名
COPYコマンドによって複製が作成されないと,PRINTコマンドが動作しない。
キューがLATSYMシンビオントを使用しているか調べたい場合は,SHOW QUEUE/FULLコマンドを使用する。LATSYMシンビオントを使用している場合,/PROCESSOR=LATSYM と表示される。
キューのシンビオントをPRTSMBに変更する手順は次のとおり。
PRTSMBを使用しているキューに対するPRINT要求が正しく処理された場合, 問題があるのはLATSYMか,LATドライバのLTDRIVERのいずれかである。
予想どおりにジョブが実行されない場合は,ジョブが保留または保持状態になっていることが考えられます。 そうした場合はSHOW QUEUE/FULL/ALL_ JOBSコマンドを使用して,キューのすべてのジョブの状態を表示してみてください。
ジョブが保持状態のときのジョブの解放については,第13.7.2.3項を参照してください。
ジョブが保留状態の場合は,/FULL修飾子を使用することによって,ジョブが実行不可能な状態になっている理由を知ることができます。 すべての情報を表示したい場合は,132 文字幅のディスプレイを使用してください。
たとえば,次は/FULL修飾子を使用して保留中のジョブの状態を表示している例です。
$ SHOW QUEUE/FULL/ALL_JOBS/BY_JOB_STATUS=PENDING Generic printer queue REG$GENERIC /GENERIC=(REG$Q1,REG$Q2,REG$Q3)/OWNER=[SYSTEM]/PROTECTION=(S:M,O:D,G:R,W:R) Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 684 PROBLEMS CHURCHILL 3118 Pending (check execution queues) Submitted 7-MAR-1998 17:49 /FORM=DEFAULT /NOTIFY /PRIORITY=100 File: _$5$DUA174:[CHURCHILL]PROBLEMS.TXT;2 Printer queue REG$Q1, stopped, on LONDON::NPA1, mounted form DEFAULT /BASE_PRIORITY=4/DEFAULT=(FEED,FORM=DEFAULT)/OWNER=[SYSTEM] /PROTECTION=(S:M,O:D,G:R,W:R) Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 687 PM$SPEECH CHURCHILL 3558 Pending (queue stopped) Submitted 7-MAR-1998 17:51 /FORM=DEFAULT /NOTIFY /PRIORITY=100 File: _$5$DUA174:[CHURCHILL]PM$SPEECH.TXT;1 (checkpointed)
実行不可能になった場合,ジョブは必ず保留状態になります。表 13-8 は,ジョブが保留状態になる原因としてよく見られるものと, その対処方法をまとめたものです。
問題 | 対処方法 |
---|---|
これ以上, キューがジョブを処理することはできない。 | 他のジョブの終了を待つ。 |
キューが停止または一時停止した。 | SHOW QUEUE/FULLコマンドを入力して,
停止または一時停止と示された場合は,キューがその状態になった理由を調べること。
停止の場合は,START/QUEUEコマンドを使用して起動する。
自動起動型キューが停止した場合は,START/QUEUEコマンドを使用してキューをアクティブにし,ENABLE AUTOSTART/QUEUES を使用してキューを起動する。 一時停止の場合は,第13.8.3項の操作を行うこと。 |
プリント・ジョブのフォーム・ ストックとキューでマウントされているフォーム・ストックと一致しない。 | 第13.8.2.1項の操作を行う。 |
キューにない特性でジョブが登録または変更された。 | 第13.8.2.2項の操作を行う。 |
プリント・ ジョブのサイズが,キューに設定されているブロック制限の範囲外である。 | SET ENTRY/REQUEUEコマンドを使用してジョブを別のキューに移すか,SET QUEUE/[NO]BLOCK_LIMIT コマンドを使用して, キューに設定されているブロック制限を変更または解除する。 |
ジョブの所有者に実行キューに対する書き込みアクセス権がない。 | SET ENTRY/REQUEUE コマンドを使用してジョブを別のキューに移すか,第13.6.1項の手順にしたがってキューに対するアクセス権を変更する。 |
停止した実行キューに対応付けられている論理キューのプリント・ ジョブである。 | SET ENTRY/REQUEUEコマンドを使用してジョブを別のキューに移すか,論理キューが対応付けられている実行キューを起動する。 |
英小文字プリントを有効にした出力装置が必要である。 | プリンタが英小文字プリントをサポートしている場合は,SET PRINTER かSET TERMINALコマンドで/LOWERCASE修飾子を使用して, 英小文字プリントを有効にする。プリンタが英小文字プリントをサポートしていない場合は,SET ENTRY/REQUEUE コマンドを使用して,英小文字プリントが有効なプリンタに出力を送る実行キューにジョブを移す。 |
ジョブのフォーム・ストックがマウント・フォームのストックと一致しないために, プリント・ジョブがキューで保留中になることがあります。たとえば次はSHOW ENTRY コマンドの出力であり,ジョブが保留中になっていることと, その原因がストックの不一致であることが分かります。
$ SHOW ENTRY 133/FULL Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 133 SET RANDOM 74 Pending (stock type mismatch) On idle printer queue SUE$PRINT Submitted 21-JAN-1998 16:14 /FORM=MANUAL (stock=HQ) /PRIORITY=100 File: _$5$DUA1:[RANDOM]SET.TXT;5
ストック不一致のために保留中のジョブを保留解除するためには,次の操作を行います。
フォームについての詳細は,第13.6.7項を参照してください。
ジョブの特性がキューに割り当てられている特性と一致しないために,プリント・ ジョブがキューで保留中になることがあります。たとえば次はSHOW ENTRY コマンドの出力であり,ジョブが保留中になっていることと, その原因がストックの不一致であることが分かります。
$ SHOW ENTRY 882/FULL Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 882 SETHOST RANDOM 5 Pending (characteristics mismatch) On idle printer queue $PRINTER_1 Submitted 28-MAR-1998 15:21 /CHAR=(5) /FORM=DEFAULT /PRIORITY=100 File: _$5$DUA1:[RANDOM]SETHOST.LOG;5
特性不一致のために保留中のジョブを保留解除するためには,次のことを行います。
特性についての詳細は,第13.6.3項を参照してください。
出力キューが一時停止した場合,その原因はキューが割り当てられている装置にあります。 装置を調べて,問題を解決してください。問題が解決すると, キューの一時停止状態は解消されます。
問題をすぐに解決できない場合は,STOP/QUEUE/RESETコマンドを入力して, キューを停止してください。停止させると,キューのジョブを他の正しく動作するキューに移すことができます( 第13.7.1.10 項を参照)。問題が解決したら,論理キューを割り当て解除し,START/QUEUE コマンドを入力してキューを起動します。
ENABLE AUTOSTART/QUEUESを入力しても自動起動型キューが起動しない場合は, キューの自動起動機能がアクティブになっていないことが考えられます。ENABLE AUTOSTART/QUEUES コマンドは,ノードで動作可能でアクティブな 自動起動型キューしか起動しません。自動起動型キューをアクティブにするためには,INITIALIZE/QUEUE コマンドに/START修飾子を指定するか,START/QUEUE コマンドを入力する必要があります。次に, ENABLE AUTOSTART/QUEUESコマンドの使用例を示します。
$ ENABLE AUTOSTART/QUEUES/ON_NODE=KATY::【1】 $ SHOW QUEUE KATY_BATCH Batch queue KATY_BATCH, stopped, autostart inactive, on KATY::【2】 $ START/QUEUE KATY_BATCH【3】 $ SHOW QUEUE KATY_BATCH/ALL Batch queue KATY_BATCH, idle, on KATY::【4】
この例では,次の操作を実行します。リスト中の番号は例中の番号に対応します。
キュー,フォーム,または特性の削除時に問題が発生した場合は,次の条件が満たされているか確認してください。
キュー,フォーム,または特性に対する参照があると,次のようなメッセージが表示されます。
%DELETE-E-NOTDELETED, error deleting object-name -JBC-E-REFERENCED, existing references prevent deletion
たとえばこうしたメッセージは,削除しようとしたキューが汎用キューの送り先として指定されていたり, 削除しようとしたフォームがプリント・ ジョブに指定されていたりした場合に表示されます。キュー,フォーム, または特性を削除するためには,それらに対する参照をすべて削除しておく必要があります。
ここでは,キュー,フォーム,または特性に対する参照を見つけて,削除する手順を示します。
ここでは,いくつかのコマンドを使用して,キューの削除時の問題を解決している例を紹介します。
$ DELETE/QUEUE JADE_BATCH【1】 %DELETE-E-NOTDELETED, error deleting JADE_BATCH -JBC-E-QUENOTSTOP, queue must be stopped to perform operation【2】 $ STOP/QUEUE/NEXT JADE_BATCH【3】 $ DELETE/QUEUE JADE_BATCH【4】 %DELETE-E-NOTDELETED, error deleting JADE_BATCH【5】 -JBC-E-REFERENCED, existing references prevent deletion $ SHOW QUEUE/FULL . . . Generic batch queue CLUSTER_BATCH【6】 /GENERIC=(JADE_BATCH,RUBY_BATCH,OPAL_BATCH) /OWNER=[SYSTEM] /PROTECTION=(S:M,O:D,G:R,W:R) . . . $ STOP/QUEUE/NEXT CLUSTER_BATCH【7】 $ START/QUEUE CLUSTER_BATCH/GENERIC=(RUBY_BATCH,OPAL_BATCH)【8】 $ DELETE/QUEUE JADE_BATCH【9】
この例では,次の操作を実行します。
PRINT/DELETEまたはSUBMIT/DELETEコマンドを使用してファイルを削除する場合は, クラスタ全体のキュー・マネージャ・プロセスが,指定されたファイルにアクセスする必要があります。 キュー・マネージャ・プロセスがファイルにアクセスしない場合は, ファイルのプリントとキュー登録は行われますが, ファイルは削除はされません。
指定したファイルが存在するディスクをクラスタ全体にマウントすると, PRINT/DELETEまたはSUBMIT/DELETEコマンドがそのファイルを削除したかどうか確認できます。 ディスクをクラスタ全体にマウントするには, MOUNTコマンドに/CLUSTER修飾子を指定します。
操作環境の制限で,クラスタ全体にディスクをマウントできない場合には, そのディスクにアクセスするノードでキュー・マネージャ・プロセスを実行することにより, この問題を解決できます。キュー・マネージャ・ プロセスを実行するノードを指定するには,START/QUEUE/MANAGERコマンドに/ON= ノード修飾子を指定して実行します。この修飾子についての詳細は, 『OpenVMS DCLディクショナリ』を参照してください。
装置制御ライブラリ・モジュールを追加または削除しようとしたときに, 次のメッセージが表示される場合があります。
$LIBRAR-F-OPENIN, error opening module-name -RMS-E-FLK, file currently locked by another user
ライブラリ・モジュールを追加または削除するためには,ライブラリが割り当てられているすべての出力キューを停止する必要があります。 ライブラリが割り当てられているキューを調べたい場合は, 次の操作を行います。
SHOW QUEUE/FULL/OUTPUT=ファイル名
ファイル名は,コマンドの出力の送り先にするファイルの名前。
検索結果には,ライブラリが割り当てられているすべてのキューが含まれています。 それらキューを停止させ,再度ライブラリ・モジュールを追加または削除するためのコマンドを入力してください。
削除しようとするモジュールが省略時のライブラリのSYSDEVCTL に含まれている場合は,SHOW QUEUE/FULLコマンドによってライブラリが示されないすべてのキューを停止する必要があります。SHOW QUEUE/FULL の出力にSYSDEVCTLライブラリも含まれるようにしたい場合は, キューを再起動するときに/LIBRARY=SYSDEVCTLを指定してください。
キューをすぐに停止させることが不可能な場合は,次の操作を行います。
異種プリンタを大量に使用している場合は,ライブラリの数を増やして, 各ライブラリが割り当てられるキューを減らすことにより,この問題の発生を防ぐ一助とすることができます。 第13.6.8.3 項で説明したように,プリンタのタイプごとにライブラリを作成して, 割り当ててみてください。
キュー・マネージャは,検出した破損を修正します。破損がキュー・レコードで検出されれば, キューを使用不能にして破損を分離します。キューが使用不能にされると, 次のメッセージがコンソールおよびオペレータ・ ログ・ファイルに出力されます。
%QMAN-I-QUEDISCOR, queue 'queue_name' has been disabled due to database corruption
キューが使用不能にされている場合には,キューを変更または登録しようとすると, 次のメッセージが表示されます。
%JBC-E-QUEDISABLED, disabled queue cannot be modified, nor can a job be submitted to it
上記のいずれかのメッセージが表示されたら,次の作業を実行してください。
キューに問題が生じ,それを弊社に報告する必要がある場合には,できる限り多くの情報をご提供ください。 第12.12 節には,弊社がキュー・システムを診断する際に最も有用な事項を説明してあります。
[ 前のページ ]
[ 次のページ ]
[ 目次 ]
[ 索引 ]
[ DOC Home ]