OpenVMS
システム管理者マニュアル


前へ 次へ 目次 索引


14.7.2.3 ジョブの保持と解放

ユーザは,PRINT, SUBMIT,SET ENTRY コマンドで次のいずれかの修飾子を指定することにより,処理の前にジョブを保持するよう指定することができます。

ジョブを保持し,解放するためのコマンドは次のとおりです。

コマンド 目的
SET ENTRY/HOLD キューに無期限にジョブを保持する。
SET ENTRY/AFTER= 時刻 指定した時刻まで,キューのジョブを保持する。 /AFTER 修飾子を指定するには,指定した時刻までジョブを保持した後で解放するために,/NOHOLD 修飾子も指定しなければならない。
SET ENTRY/NOHOLD 次のいずれかの理由でキューに保持されていたキューを解放する。

  • /HOLD 修飾子または /AFTER 修飾子を使用してジョブがキューに登録された。

  • 終了したジョブが/RETAIN 修飾子を使用しているために保持状態になっていた。 ( 第 14.6.2 項 を参照)。

  • ジョブがユーザ作成のシンビオントによって拒否されていた。

SET ENTRY/NOAFTER SET ENTRYコマンドで指定した時刻まで待ち状態になっているジョブを解放する。
SET ENTRY/RELEASE 次のいずれかの理由でキューに保持されていたキューを解放する。

  • 保持状態になっていた。

  • "Holding until" 状態になっていた。

  • /RETAIN 修飾子を使用して保持状態になっていた ( 第 14.6.2 項 を参照)。

  • ユーザ作成のシンビオントによって拒否されていた。


  1. 次の例では,最初に指定時刻までジョブを保持するよう指示し,その後,その時刻になる前にジョブを解放するよう指示している。


    $ SET ENTRY 1121/AFTER=12-FEB-2000:17:30
    $ SET ENTRY/NOAFTER
    

  2. 次の例では,最初に当日の真夜中 (00:00:00 時) までジョブを保持するよう指示し,その後,その時刻になる前にジョブを解放するよう指示している。


    $ SET ENTRY 1121/AFTER=TODAY
    $ SET ENTRY/NOAFTER
    

  3. 次の例では,最初に無期限にジョブを保持するよう指示し,その後,解放している。


    $ SET ENTRY 1234/HOLD
    $ SET ENTRY 1234/RELEASE
    

14.7.2.4 実行中ジョブのキュー再登録

実行中のプリント・ジョブを停止させて,キューに再登録する場合は, STOP/QUEUE/REQUEUE コマンドを使用します。このコマンドは,現在のジョブの実行を中断し,そのジョブを,指定したキューに再登録します。キューの他のジョブは,処理されるまで保留状態になります。

注意

STOP/QUEUE/REQUEUE コマンドが停止させるのは,キューで現在実行中のジョブだけです。キューが停止することはありません。


  1. たとえば,BETA_LPB0 という出力実行キューから 1 つのジョブが実行されているとき,キューに割り当てられているプリンタが紙詰りを起こした場合を考えます。キューで他のジョブが保留中でない場合は,ジョブを停止させ,別のプリンタのキューにジョブを再登録することになります。キュー自体を停止することも考えられます。こうした場合,入力するコマンドは次のようになります。


    $ STOP/QUEUE/REQUEUE=BETA_LPA0 BETA_LPB0
    $ STOP/QUEUE/RESET BETA_LPB0
    


    最初のコマンドで,プリント・ジョブのBET_LPB0 での実行が停止されて, BET_LPA0 に再登録されます。2 番目のコマンドは, BETA_LPB0 キューを停止させます。

  2. バッチ・キューにジョブを再登録する場合は,次の例に示すように /ETNRY=n 修飾子を指定する必要があります。


    $ 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 に指定します。

14.7.2.5 保留中ジョブの再登録

キューで保留中のジョブを他のキューに登録し直す場合は,次の例に示すように SET ENTRY/REQUEUE コマンドを使用します。


$ SET ENTRY/REQUEUE=LN03$PRINT 196

この例では,196 というジョブを LN03$PRINT というキューに移しています。

14.7.2.6 ジョブの削除

保留中または実行中のジョブを削除する手順は次のとおりです。

  1. 次のいずれかの DCL コマンドを入力して,ジョブのエントリ番号を求める。


    SHOW ENTRY/USER_NAME= ユーザ名    [ エントリ番号 ] 
    


    SHOW QUEUE/ALL_JOBS   [ キュー名 ] 
    


    ジョブ名,ユーザ名,キュー名のいずれも分からない場合は,次のコマンドを入力する。


    $ SHOW QUEUE/BATCH/ALL_JOBS/BY_JOB_STATUS=EXECUTING
    

  2. 次の形式で DELETE コマンドを入力して,ジョブを削除する。


    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

14.7.2.7 ジョブのプリント位置と位置調整の制御 (出力キューの一時停止)

修飾子を指定せずに STOP/QUEUE コマンドを入力し,出力キューを一時停止させることによって,プリント・シンビオントと会話型で通信することができます。 このとき,行えることとしては,たとえば次のような操作があります。

注意

上記の作業を行うためには,ジョブのプリントが始まった後, STOP/QUEUE コマンドでキューを一時停止させる必要があります。

14.7.2.7.1 プリント位置の指定


キューを一時停止させて,再起動した場合,省略時の設定ではプリントは,現在のジョブのプリント停止位置近くのチェックポイントから再開されます。現在のジョブのプリント再開位置を具体的に指定した場合は,次のいずれかの修飾子を指定して,START/QUEUE コマンドを入力してください。

修飾子 説明
/BACKWARD[= n] プリントを再開する前にファイルを後戻りさせるページ数を指定する。省略時の値は 1 であり,この場合,プリントは現在のページの先頭から再開される。
/FORWARD[= n] プリントを再開する前にファイルを先送りするページ数を指定する。省略時の値は 1 であり,この場合,プリントは次ページの先頭から再開される。
/SEARCH=
"検索文字列"
指定した検索文字列を含むページからプリントを再開するよう指定する。文字列の検索は,現在のページの次のページから始めて順方向で行われる。また,連続タブとスペースはスペース 1 つとして扱われ,英字の大文字と小文字の区別は行われない。文字列は 1 〜 63 文字の長さであり,引用符 (" ") で囲まなければならない。
/TOP_OF_FILE 出力実行キューが一時停止した時,停止時に実行中であったファイルの先頭からプリントを再開するよう指定する。

START/QUEUE コマンドに複数の位置付け修飾子を指定する必要がある場合は,次の順序で位置修飾子を指定してください。

  1. /TOP_OF_FILE

  2. /FORWARD

  3. /BACKWARD

  4. /SEARCH


  1. 次の例では,最初に STOP/QUEUE コマンドを使用して, JADE_PRINT というプリンタ・キューからプリント中のジョブを一時停止させ,キューを保留状態にする。そして START/QUEUE コマンドによって,キューの保留状態を解除している。このコマンドには TOP_OF_FILE 修飾子が指定されているので,一時停止させられたジョブのプリントは,中断した場所ではなく,ファイルの先頭から再開される。


    $ STOP/QUEUE JADE_PRINT
    $ START/QUEUE/TOP_OF_FILE JADE_PRINT
    

  2. 次の例では,まずファイルをその先頭に位置付け,そこから 15 ページ先送りしてから,SYS_LPA0 というプリンタに出力を再開している。


    $ START/QUEUE/TOP_OF_FILE/FORWARD=15 SYS_LPA0
    

14.7.2.7.2 プリント・フォームの位置調整


サンプル・データをプリントして,プリント・フォームを位置調整したい場合は,いったんキューを一時停止させ,続いて,/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

14.8 キューに関する問題の解決

この節では,キューでよく発生する問題を取り上げ,その対処方法を説明します。

問題 参照箇所
一般的なプリンタの問題 第 14.8.1 項
保留中のジョブのスケジューリング 第 14.8.2 項
ストックの不一致 第 14.8.2.1 項
特性の不一致の問題 第 14.8.2.2 項
出力キューの一時停止 第 14.8.3 項
自動起動型キューの不起動 第 14.8.4 項
キューとフォーム,特性削除時の問題 第 14.8.5 項
プリント後のファイル削除時の問題 第 14.8.6 項
装置制御ライブラリのモジュール追加と削除時の問題 第 14.8.7 項
キューの使用不能 第 14.8.8 項

14.8.1 一般的なプリンタ問題の原因究明

プリンタに関連した一般的な問題の原因を究明する場合は,次の手順に従ってください。

  1. 次の形式で SHOW QUEUE/FULL コマンドを入力して,問題のプリンタに割り当てられているキューの状態を確認する。


    SHOW QUEUE/FULL   キュー名 
    


    キューの状態については, 表 14-5 を参照すること。

  2. SHOW LOGICAL /FULL SMBSRVSHR コマンドを入力して,論理名 SMBSRVSHR が設定されているかどうか確認する。設定されている場合は,DEASSIGN SMBSRVSHR コマンドを入力して,設定を解除する。たいていの場合,論理名 SMBSRVSHR は定義しないほうがよい。ただし,SMBSRVSHR が指定されている場合は, /USER_MODE,/SUPER_USER_MODE,または /EXECUTIVE_MODE 修飾子のいずれかを指定してDEASSIGN SMBSRVSHR コマンドを入力し指定を解除する。

  3. プリント要求に対して致命的なエラーが返されるか,またはプリントが行われない場合は,次の操作を行う。

    1. STOP/QUEUE/RESET コマンドを入力して,キューを停止させる。

    2. 出力装置をスプールしている場合は, SET DEVICE/NOSPOOLED コマンドを入力して,スプールを解除する。

    3. 次の形式で COPY コマンドを使用して,プリントするファイルをコピーする。


      COPY 入力ファイル名   出力ファイル名 
      


      COPY コマンドによって複製が作成されないと, PRINT コマンドが動作しない。

  4. 問題が LATSYM シンビオントを使用するキューにある場合は,省略時のシンビオントの PRTSMB を使用して,問題が解決しないか調べる。PRTSMB は,LAT ポートに接続されているプリンタに使用することができる。ただし,プリンタにジョブを送ることが可能なキューは一度に 1 つだけである。
    キューが LATSYM シンビオントを使用しているか調べたい場合は, SHOW QUEUE/FULL コマンドを使用する。 LATSYM シンビオントを使用している場合,/PROCESSOR=LATSYM と表示される。
    キューのシンビオントを PRTSMB に変更する手順は次のとおり。

    1. STOP/QUEUE/RESET コマンドを入力して,キューを停止する。

    2. START/QUEUE/NOPROCESSOR コマンドを入力して,キューを再起動する。

    PRTSMB を使用しているキューに対する PRINT 要求が正しく処理された場合,問題があるのは LATSYM か,LAT ドライバの LTDRIVER のいずれかである。

  5. プリンタに使用されているケーブルの一方をターミナルに接続する。ターミナルにデータが表示され,Hold Screen キーが働き,かつデータが失われていない場合は,プリンタの設定を間違えているなどの問題が考えられる。ターミナルでも問題がある場合は,たいてい,ケーブルかハードウェア・インタフェース・ポート,あるいはハードウェア・ポート設定が原因と考えられる。


前へ 次へ 目次 索引