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

前へ | 次へ | 目次 | 索引

### 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 コマンドを入力し，出力キューを一時停止させることによって，プリント・シンビオントと会話型で通信することができます。 このとき，行えることとしては，たとえば次のような操作があります。

- 一時停止させたジョブのプリントを再開する位置を指定する。たとえば，プリンタが紙詰りを起こしたため，プリント・ジョブの最初の数ページが正しくプリントされなかったと仮定する。その場合は，キューを一時停止させて，ジョブを再起動し，ファイルの先頭からプリントを再開することができる。
  詳細は 第 14.7.2.7.1 項 を参照。

- プリンタ・フォームの位置調整のためページ数とデータ・タイプを指定する。たとえば，プリンタがプリント済みの連続用紙からなる用紙ストックを使用していると仮定する。ジョブのプリントを開始しようとして用紙を調べると，正しい位置調整が行われておらず，プリント済みフォームの正しい場所にプリントが行われないことが判明する。そうした場合は，キューを一時停止させて，サンプル・データをプリントし，用紙の位置調整を行うことができる。
  詳細は 第 14.7.2.7.2 項 を参照すること。

注意 上記の作業を行うためには，ジョブのプリントが始まった後， 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 キーが働き，かつデータが失われていない場合は，プリンタの設定を間違えているなどの問題が考えられる。ターミナルでも問題がある場合は，たいてい，ケーブルかハードウェア・インタフェース・ポート，あるいはハードウェア・ポート設定が原因と考えられる。

## 14.8.2 保留中のジョブのスケジューリング

予想どおりにジョブが実行されない場合は，ジョブが保留または保持状態になっていることが考えられます。そうした場合は SHOW QUEUE/FULL/ALL_JOBS コマンドを使用して，キューのすべてのジョブの状態を表示してみてください。

ジョブが保持状態のときのジョブの解放については， 第 14.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-2000 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-2000 17:51 /FORM=DEFAULT /NOTIFY /PRIORITY=100
             File: _$5$DUA174:[CHURCHILL]PM$SPEECH.TXT;1 (checkpointed)

実行不可能になった場合，ジョブは必ず保留状態になります。 表 14-8 は，ジョブが保留状態になる原因としてよく見られるものと，その対処方法をまとめたものです。

表 14-8 よく見られるジョブ保留の原因と対処方法
問題 | 対処方法
--- | ---
これ以上，キューがジョブを処理することはできない。 | 他のジョブの終了を待つ。
キューが停止または一時停止した。 | SHOW QUEUE/FULL コマンドを入力して，停止または一時停止と示された場合は，キューがその状態になった理由を調べること。停止の場合は，START/QUEUE コマンドを使用して起動する。 自動起動型キューが停止した場合は，START/QUEUE コマンドを使用してキューをアクティブにし， ENABLE AUTOSTART/QUEUES を使用してキューを起動する。 一時停止の場合は， 第 14.8.3 項 の操作を行うこと。
プリント・ジョブのフォーム・ストックとキューでマウントされているフォーム・ストックと一致しない。 | 第 14.8.2.1 項 の操作を行う。
キューにない特性でジョブが登録または変更された。 | 第 14.8.2.2 項 の操作を行う。
プリント・ジョブのサイズが，キューに設定されているブロック制限の範囲外である。 | SET ENTRY/REQUEUE コマンドを使用してジョブを別のキューに移すか， SET QUEUE/[NO]BLOCK_LIMIT コマンドを使用して，キューに設定されているブロック制限を変更または解除する。
ジョブの所有者に実行キューに対する書き込みアクセス権がない。 | SET ENTRY/REQUEUE コマンドを使用してジョブを別のキューに移すか， 第 14.6.1 項 の手順にしたがってキューに対するアクセス権を変更する。
停止した実行キューに対応付けられている論理キューのプリント・ジョブである。 | SET ENTRY/REQUEUE コマンドを使用してジョブを別のキューに移すか，論理キューが対応付けられている実行キューを起動する。
英小文字プリントを有効にした出力装置が必要である。 | プリンタが英小文字プリントをサポートしている場合は，SET PRINTER か SET TERMINAL コマンドで /LOWERCASE 修飾子を使用して，英小文字プリントを有効にする。プリンタが英小文字プリントをサポートしていない場合は， SET ENTRY/REQUEUE コマンドを使用して，英小文字プリントが有効なプリンタに出力を送る実行キューにジョブを移す。

前へ | 次へ | 目次 | 索引