ページのトップに戻る
Systemwalker Operation Manager  リファレンスマニュアル

7.20 qsub ジョブの投入コマンド

記述形式

qsub [options] [job_file] [parameters]

機能説明

qsubはジョブを投入するコマンドです。

オプション (options)

qsubコマンドで指定可能なオプションを以下に示します。

Enterprise EditionGlobal Enterprise Edition-sys サブシステム番号

複数サブシステム運用をしているシステムで、操作対象のサブシステムを指定するためのオプションです。操作対象とするサブシステム番号を、0から9の範囲で指定します。このオプションを省略した場合、サブシステム番号0が操作対象となります。

-C comment

ジョブにコメントを付加します。511バイト以内で指定します。コメントに空白文字を含む場合、コメントを半角のダブルクォーテーション(”)で囲む必要があります。以下に例を示します。

-C "This is a comment."

本オプションの指定がない場合、ジョブ実行制御は環境変数JC_COMMENTを検索します。この環境変数が存在していれば、JC_COMMENTで記述されている文字列をコメントとみなします。

コメント内にダブルクォーテーションを記述する場合は、ダブルクォーテーションの直前に“¥”を指定することでダブルクォーテーションを文字として扱うことが可能です。なお、直前に“¥”を記述したダブルクォーテーションは、コメント全体を括るためのダブルクォーテーションとして扱われません。以下に例を示します。

-C "This is a ¥"client listing¥""

-ch client-hostname

ジョブの依頼元のホスト名を特定するためのクライアントホスト名を指定します。

クライアントホスト名の最大は、64バイトです。

-cu client-username

ジョブの依頼元のユーザ名を特定するためのクライアントユーザ名を指定します。クライアントユーザ名の最大は64バイトです。

このオプションは、システム管理者(Administratorsグループに属するユーザ/スーパーユーザ)のみ指定できます。

-dp dispatch-priority

【Windows版】

ジョブから起動されるプログラムのスレッドの優先順位を、0~4の整数で指定します。値が大きいほどスレッドの優先順位が高くなります。

本オプションが省略された場合、[キューの作成/編集]ウィンドウで指定する“ジョブ実行優先度を指定する”(queueパラメタのdfltdprtyオペランド)の定義値が設定されます。

【UNIX版】

起動するプロセスの実行優先度を-20~19の整数で指定します。実行優先度は実行時のCPU割当て順位を表し、19が最も低く、-20が最も高くなります。

本オプションが省略された場合、[キューの作成/編集]ウィンドウで指定する“ジョブ実行優先度を指定する”(queueパラメタのdfltdprtyオペランド)の定義値が設定されます。

-e [drive-letter:] [path-name] stderr-file【Windows版】

-e [path-name] stderr-file【UNIX版】

ジョブの実行で生じる標準エラー出力をpath-nameに指定したパス名にstderr-fileというファイル名で出力します。

path-nameの指定がない場合、パス名はジョブを投入した時のカレントワーキングディレクトリとみなします。

指定されたパスに出力できない場合、カレントワーキングディレクトリに出力します。

本オプションが省略された場合、標準エラー出力ファイル名は“ジョブ名.eジョブ番号”になります。ジョブ名がKEISAN、ジョブ番号が20であるジョブの標準エラー出力ファイル名は、“KEISAN.e20”になります。

本オプションは-eoオプションと同時に指定することはできません。

-eo

標準エラー出力を標準出力ファイルに出力します。

-eオプションと同時に指定することはできません。

-ld HHMM

ジョブの打ち切り時刻を指定します。本オプションを指定したジョブは、打ち切り時刻を迎えると強制終了します。終了コードは“0x40000322”です。

“HH”は“00~23”(時)、“MM”は“00~59”(分)の表記です。

本オプションは-ltオプションおよび[登録-ジョブ]ウィンドウ-[詳細情報]シートの[実行予測時間]と同時に指定できません。

-j job-name

ジョブ名を指定します。job-nameの長さには制限はありませんが、有効となるのは先頭64バイトまでです。空白、仮名半角、ユーザ定義文字および以下の半角文字はジョブ名として使用できません。

/ ? * ; , ¥ " < > | : ( ) ' . $ `

また、ネットワークジョブおよび分散実行ジョブの場合は、& を指定することはできません。

本オプションを指定しなかった場合、ジョブファイル名(ただし、パス名および、拡張子を取り除いたもの)をジョブ名とみなします。ジョブファイル名も指定しない場合、STDINをジョブ名とみなします。

job-nameの先頭に数字が指定された場合、ジョブ実行制御はジョブ名の先頭に“J”を付加します。

UTF-8コードの環境では日本語コードを使用しないでください。【UNIX版】

-lt limittime

ジョブ実行経過時間の制限値を指定します。

経過時間は秒単位で、1~99999999の範囲の値を指定します。

本オプションが省略された場合、[キューの作成/編集]ウィンドウで指定する“ジョブ経過時間を制限する”(queueパラメタのlimittimeオペランド)での定義値が設定されます。

本オプションは-ldオプションと同時に指定できません。

-nt【Windows版】

非トレースモードでジョブを実行します。通常、ジョブ実行制御は、ジョブプロセスの実行状況をトレースして子プロセスや孫プロセスを管理していますが、非トレースモードでは、トレースによる管理を行いません。このため、ジョブ実行制御から実行したジョブが例外コードで異常終了となる場合に、本オプションを指定することで、例外コードによる異常終了が解消できる場合があります。

ただし、本オプションを指定して実行されたジョブは、子プロセスや孫プロセスが管理されないため、子プロセスや孫プロセスが残っていても、親プロセスが終了した時点でジョブの終了と判断されてしまいます。また、ジョブを強制終了した場合、親プロセスしか強制終了されません。

本オプションは、ジョブの起動モードがトレースモードの場合のみ有効です。ジョブオブジェクトモードの場合は、本オプションは無視されます。

また、本オプションは、ネットワークジョブや分散実行ジョブでは使用できません。指定した場合、投入元で実行される分散実行ジョブは非トレースモードで実行されますが、実行先サーバにリモートで投入されるジョブは非トレースオプションが無効になり、通常のトレースモードで実行されます。

また、バッチファイル内に本オプションを記述することはできません。指定した場合、不当なオプション指定として無視されます。

本オプションは、Windows for Itanium版では利用できません。

-nr

ジョブの再実行を禁止します。

本オプションを付けて投入されたジョブは、そのジョブが実行中にシステムダウンが発生した場合、ジョブ実行制御の再立ち上げ時に再実行されません。

-o [drive-letter:] [path-name] stdout-file【Windows版】

-o [path-name] stdout-file【UNIX版】

ジョブの実行で生じる標準出力をpath-nameに指定したパスにstdout-fileというファイル名で出力します。

path-nameの指定がない場合、パス名はジョブを投入した時のカレントワーキングディレクトリとみなします。

指定されたパスに出力できない場合、カレントワーキングディレクトリに出力します。

本オプションが省略された場合、標準出力ファイル名は“ジョブ名.oジョブ番号”になります。ジョブ名がKEISAN、ジョブ番号が20であるジョブの標準出力ファイル名は、“KEISAN.o20”になります。

-p priority

ジョブのキュー内のプライオリティを0~63の整数で指定します。

プライオリティは0が最も低く、63が最も高くなります。

本オプションで指定したプライオリティは、キュー上のジョブの実行順位を決めるためのもので、実行プライオリティを決定するものではありません。

ジョブをキューイングする場合、ジョブ実行制御は、キュー内に存在するジョブのキュー内プライオリティを調べます。新たに投入されたジョブは、キューイングされているプライオリティの低いジョブの前にキューイングされます。

また、新規ジョブと同じプライオリティのジョブが存在する場合、そのジョブの後ろに新規ジョブをキューイングします。

本オプションが省略された場合、[運用情報の定義]ウィンドウの“優先順位の省略値を指定する”(queueパラメタのdfltprtyオペランド)の定義値が設定されます。定義されていない場合には、-1が表示されます。

-q queue-name

ジョブをキューイングするキュー名を指定します。

本オプションの指定がない場合、ジョブ実行制御は環境変数QSUB_QUEUEを検索します。この環境変数が存在していれば、QSUB_QUEUEで記述されている文字列をキュー名とみなします。

本オプションの指定がなく、環境変数QSUB_QUEUEも存在していない場合、システム管理者がデフォルトキューを設定していれば、そのキューにキューイングされます。

本オプションの指定がなく、環境変数QSUB_QUEUEもなく、デフォルトキューも設定されていない場合、“not specify”と表示され、ジョブはキューイングされません。

-R resource-name[,resource-type]

ジョブが使用するリソース名および排他属性を指定します。resource-nameは最大64バイトで、半角英数字、“_”(半角アンダーバー)、“-”(半角ハイフン)を利用することが可能です。resource-typeには以下のいずれかを指定します。

sh

リソースを他のジョブと共有します。

ex

リソースを占有します。

resource-nameとresource-typeの間の区切りには“,”を用います。

resource-typeが省略された場合はshが指定されたものとします。

リソース名 RDBを、排他属性を占有とする場合の指定を以下に示します。

-R RDB,ex

-rh hostname

本オプションを指定したジョブは指定されたサーバ上で実行されます。ジョブの標準出力ファイルおよび標準エラー出力ファイルは、投入元サーバに作成されます。

なお、本オプションを指定するときは以下の点に注意してください。

ジョブが実行されるキューは以下の手順で決定されます。

  1. 投入元ジョブの実行キュー(投入時に指定したキュー名、または省略値)と同一名のキュー名。

  2. 同一のキュー名が存在しない場合は、ジョブを依頼する他サーバで[運用情報の定義]ウィンドウの“ジョブ投入先のキューの省略値を指定する”(systemパラメタのdfltqueueオペランド)に定義されたキュー名。

  3. [運用情報の定義]ウィンドウで“ジョブ投入先のキューの省略値を指定する”(systemパラメタのdfltqueueオペランド)が指定されていない場合は、“not specify”と表示され、ジョブの投入に失敗します。

また、本オプションを指定して、ネットワークジョブとして他サーバへジョブを依頼する場合、以下のa.b.またはc.に該当する場合はネットワークジョブを実行することができません。

  1. 以下の条件にすべて該当している場合、ネットワークジョブを実行できません。

    • ジョブの投入元サーバ、実行サーバ(本オプションで指定されたサーバ)ともにWindowsサーバのネットワークジョブである

    • 実行サーバ上で[運用情報の定義]ウィンドウの“ジョブを所有者の権限で実行する”(execasuserパラメタ)が指定されている

    • ジョブ投入者のユーザ名が“root”である

    • 上記のジョブ投入者(root)のユーザパスワードと、実行サーバ上の“Systemwalker MpMjes”サービスのログオンアカウントのユーザのパスワードが異なる

  2. 以下の条件にすべて該当している場合、ネットワークジョブを実行できません。

    • ジョブの投入元サーバがUNIXサーバ、実行サーバがWindowsサーバのネットワークジョブである

    • 実行サーバ上で[運用情報の定義]ウィンドウの“ジョブを所有者の権限で実行する”(execasuserパラメタ)が指定されている

  3. 分散実行キューにジョブを投入した場合、ネットワークジョブを実行できません。

なお、a.のジョブ投入者とは“root”というユーザ名であり、システム管理者とは限りません。

また、ジョブ投入者とは、以下を指しています。

-rsys 実行先サブシステム番号

ネットワークジョブの実行先サーバのサブシステム番号を指定します。実行先サーバの、指定したサブシステム番号のサブシステムにジョブが投入されます。実行先サブシステム番号には0~9を指定します。

自ホストと異なるホストのサブシステムにネットワークジョブを依頼するときは、-rsysオプションと同時に、-rhオプションを指定してください。自ホストのサブシステムにネットワークジョブを依頼するときは、-rhオプションを指定する必要はありません。

例えば、依頼ホスト“Ahost”のサブシステム1に、ジョブファイル“job.bat”を渡してジョブを依頼するときは、以下のように指定します。

qsub -rh Ahost -jft -rsys 1 job.bat

本オプションを指定したジョブは、分散実行キュー、旧互換負荷分散キューに投入できません。投入しようとするとエラーになります。

-jft

ジョブファイルを-rhオプションで指定したサーバまたは、分散実行サーバへ転送して実行します。本オプションを指定しない場合は、-rhオプションで指定したサーバ上、または分散実行サーバ上に存在するジョブファイルを実行します。

本オプションは以下の条件を満たした場合にのみ有効です。

-x

ジョブ投入時に存在するすべての環境変数をジョブ実行環境で利用できるようにします。

-z

ジョブを投入した時、メッセージを表示しません。

本オプションを指定した場合、ジョブの投入が成功してもジョブの投入が成功したことを知らせるメッセージを表示しません。

ただし、ジョブの投入が失敗した場合、本オプションの指定の有無に関係なく、常にエラーメッセージを表示します。

本オプションを省略した場合、ジョブの投入が成功した時に以下に示す形式のメッセージを表示します。

Job job submitted to queue: queue-name

jobは、以下の形式で表示されます。

なお、各表示項目についての説明および注意事項については、“7.6 qjalter ジョブの属性変更コマンド”を参照してください。

job-name(jobno.hostname)

queue-nameは、ジョブがキューイングされたキュー名を示します。

-r retrycount

ネットワークジョブの実行依頼中に回線異常が発生した場合にリトライを行います。この時のリトライ回数を、1~20の範囲で指定します。リトライの間隔は、300秒(固定)です。

なお、ジョブの実行依頼処理が終了した後、ジョブの実行完了を待っている間に回線異常が発生した場合、本オプションによるリトライは行われません。

オペランド

job_file

実行するジョブファイルを指定します。指定可能なファイルは以下のとおりです。

UTF-8コードの環境で、指定するファイル名に日本語を含む場合は、必ず-jオプションを併用して日本語コードを含まないジョブ名になるようにしてください。【UNIX版】

parameters

バッチファイル/シェルスクリプト、実行プログラム、SystemwalkerスクリプトまたはJCLに渡すパラメタを指定します。

ジョブファイルにjob.bat、そのファイルに渡すパラメタとして0822および1000を指定する場合は、以下のように記述します。

qsub job.bat 0822 1000

なお、パラメタに*?[]などのシェルによって特別な意味を持つ文字を使用する場合は、文字列全体を一対の引用符(''または””)で囲んでください。ジョブファイルに/usr/bin/ls、パラメタとして-l、/home/guest/*および/home/guest/work/???を指定する場合は、以下のように記述します。【UNIX版】

qsub /usr/bin/ls -l '/home/guest/*' '/home/guest/work/???'

復帰値

復帰値

0

コマンド処理が正常に終了しました。

0以外

コマンド処理が正常に終了しませんでした。エラーメッセージが出力されます。

コマンド格納場所

Windows

Systemwalker Operation Managerインストールディレクトリ¥MpWalker.JM¥bin

Solaris

/opt/FJSVMJS/usr/bin

HP-UX

/opt/FHPMJS/usr/bin

AIX

/opt/FAIXMJS/usr/bin

Linux/Linux for Itanium

/opt/FJSVMJS/usr/bin

注意事項

バッチファイルについて【Windows版】

バッチファイル内にオプションを記述することで、qsubコマンド投入時にオプションを指定する必要がなくなります。

ただし、[運用情報の定義]ウィンドウ-[旧互換]シートの"ジョブ登録時に指定したスクリプトファイルをスプールに複写し、実行する"がチェックされていない場合にはオプション識別は実行されません。

オプション識別時のアルゴリズム

  1. バッチファイルを1行読み込む。ファイルが終わりなら8.へ。

  2. 空白行の場合、または最初に現れた文字が“:”の場合、1.へ。

  3. 最初に現れた単語が“rem”でなければ8.へ。

  4. “rem”の次に現れた文字が“@$”でなければ1.へ。

  5. “@$”の直後に続く文字が“-”でなければ8.へ。

  6. オプションの解析を行う。

  7. 次の“-”文字を検索する。“-”が出現したら6.へ。行の最後まで出現しなければ1.へ。

  8. 終了。これ以降のオプションは無視する。

オプション記述例

rem バッチファイル 例
rem
rem ジョブをサブミットするキューをCLASSAにする
rem @$-q CLASSA
rem
rem これ以降のオプションは無視
rem @$