活動ジョブの処理 (WRKACTJOB
) は、多くの機能が秘められている。
WRKACTJOB
は Windows のタスクマネージャーのように実行中のジョブ(プロセス)の状況を
表示したり、制御したりするコマンドである。
ここでは意外と知られていない WRKACTJOB
の機能も含めて活用の方法を紹介しよう。
通常は、コマンド入力画面において
WRKACTJOB + [実行]
だけで、活動ジョブすべてが表示される。
活動ジョブは QBASE
, QINTER
, ... などのサブシステム配下に活動中のジョブが
表示されるようになっている。
■ 主なサブシステムとその意味
QBASE | 対話型とバッチの両方のジョブを実行するサブシステム。
|
---|---|
QINTER | 対話型サブシステム。
|
QSPL | スプールと印刷用のサブシステム。
|
QBATCH | バッチJOB用サブシステム。すべてのバッチJOB がこの配下で
|
QSNADS | i5 どうしのオブジェクトやスプールの転送を行うサブシステム。
|
QSYSWRK | OS400 (i5/OS) 用の雑多な汎用サブシステム。通常は IPLと同時に開始されている。
|
QHTTPSVR | IBM HTTPサーバーのサブシステム。旧リリースでは QSYSWRK の配下で起動していたが、
|
■ 以下は弊社製品によるサブシステムである。
ENTPRSSVR | EnterpriseServer サブシステム。
|
---|---|
CHICAGO | Chiago のサブシステム。AutoGUI を使用している場合も
|
SPOOLWTR | Spoolライターのサブシステム。 |
単に WRKACTJOB + [実行]
だけでは、すべてのサブシステムが表示されてしまうので、
目的のサブシステムを探しだすのに大変な場合がある。
WRKACTJOB SBS(xxxxxxxx)
とすれば指定した特定のサプシステムだけを
表示することができる。
稼動中のジョブのCPU の使用率を見るために「F5=最新表示」を押すことはあるだろう。
繰り返し F5キーを押しているうちに特定のジョブだけが異常に CPU使用率が
高くなってくることに気づいたことはないだろうか ?
あるいはもう既に終了しているはずなのに、いつまでも CPU 使用率が
高いままである場合もある。
これは「F10=統計の再始動」を押していないからである。
CPU 使用率とは WRKACTJOB
コマンドを開始した時点からの CPU 使用率を
表示しているのだ。
したがって最新の状況を把握するには適切な時点で F10キーを押して、
使用率をリセットしてからF5キーを押す必要がある。
F10キーを押してから F5キーを押して、CPU使用率がゼロであれば、そのJOB は
完全に終了(停止)していると判断することができる。
WRKACTJOB
で「F11= 経過 データ の表示」を押すと下記のような表示に切り替わって
ジョブの優先度を調べたり、変更することができる。
「PTY」(=PRIORITY) と表示されているのが実行優先度である。
一般に優先度は対話式がバッチより勝っている。
特に重要であるのが JOB の異常状況の調査である。
CGI の実行状況の調査でも重要である。
JOBLOG
を調べるには子プロセスを 「5= 処理」で選択してから、「10. ジョブ・ログの表示」でJOBLOG
を表示する。
さらに「F10= 詳細メッセージの表示」を押すと画面は下記のようにすべてのJOBLOG
を
表示することができる。ここまで行わないとすべてのメッセージを知ることはできない。
これでたいていのJOB の状況としてのログを参照することができるが、実はこれで
すべてではない。
このJOB を終了させると印刷待ち行列 QEZJOBLOG
に JOBLOG
が
印刷出力されるが、そこにすべての情報が出力されているので、どうしても異常状況が
不明な場合は QEZJOBLOG
の確認も必要となることを覚えていて欲しい。
WRKACTJOB
の右端に表示される「状況」は、そのJOB が現在、どのような状況であるかを直ちに知ることができる。
多くの場合、DSPW (=表示で入力待ち) や RUN (=実行中) などが表示されるが「状況」の欄にカーソルをセットして F1キーを押すと状況の意味を
日本語ヘルプで調べることができる。特に MSGW (=メッセージ待ち) は、何らかの異常が
発生して、メッセージに対する応答が必要であることを意味している。
MSGW であれば 7=メッセージの表示 を選択してメッセージに応答が必要となる。
仮想ユーザー環境などによって API でログインしている場合でも OS400 V5R4M0 からは
ユーザー名が表示されるようになった。 これは CGI を利用している場合にどのユーザーが
現在、使用中であるか知るのにわかりやすくなっている。