実行環境

121. パス・スルーの実行状況 ( WRKACTJOB )

パス・スルーを実行しているユーザーがどのようなプログラムで
どのようなファイルにアクセスしているのかを知るには
どうすればよいだろうか?
WRKACTJOB でパス・スルーのジョブを調べればよいと思われるかも
知れないが実はパス・スルー・ジョブを WRKACTJOB で調べることはできない。
パス・スルー・ジョブは通信プログラムによる通信であるので
IBM i の通常のプログラムとしては動作していない。
次はパス・スルー・ジョブのスタックを表示したものである。

                            呼び出しスタックの表示                     
                                                          システム :   
 ジョブ :   QPADEV0004     ユーザー :   QTR            番号 :   779976 
 ヌロョn゙:   0000007B                                                     
                                                                       
                                                                       
 jbポ   プログラム              ヌmーnx]n            プロシージャー      
       QCMD       QSYS                     /0517                       
       QUICMENU   QSYS                     /00C1                       
    1  QUIMNDRV   QSYS                     /060F                       
    2  QUIMGFLW   QSYS                     /04D7                       
    3  QUICMD     QSYS                     /056E                       
    4  QCMD       QSYS                     /01C8                       
       QPAPASS    QSYS                     /032E                       

プログラム: QPAPASS がパス・スルーであるがその下のプログラムは
何も表示されていない。(実際はいくつかのプログラムを呼び出して実行している。)

このようにしてオープン中のファイルを調べることもできない。
これは TELNET によるパス・スルーでも同じことである。
また実行管理の API を使ってもパス・スルーから先の実行状況については
調べることはできなかった。

パス・スルーは情報システム室が調査のために使うには便利な機能であるが
エンド・ユーザーにパス・スルーを解放してしまうと
トラブル時の調査が困難になるので、あくまでも情報システム室までに
留めておいたほうがよいだろう。