先日、顧客先で問題対応中に気づいたのですが、アプリケーションプロセスが2セット実行されていました。1つはProduction.SysAdminのような汎用的な名前で、もう1つは3年以上も稼働している個人名(仮にFred.SysAdminと呼びましょう)のものでした。調べてみると、Fredは既に会社を去っていたのです。 フレッドに悪意があったとは言いませんが、常に言及される「ベストプラクティス」として、フレッドが会社を去る際には(おそらく解雇を伝える直前にも)直ちにログイン認証情報を無効化すべきだと気づきました。しかし、フレッドが起動したプロセスを終了させるベストプラクティスについては聞いたことがありません。VOSシステムの再起動間隔の長さを考慮すると、このシナリオは決して珍しいものではないでしょう。 提案します:社員が退職する際、ログイン資格情報を無効化するだけでなく、その社員名義で実行中のプロセスや、その社員が作成したプログラムモジュールを評価し、終了スケジュールを設定すべきです。必要と判断された場合は、現職社員によって再起動されます。同様にバッチキューも点検し、当該社員名義の要求を評価・キャンセルし、必要と判断された場合は現職社員によって再提出されるべきです。
バッチキューを確認するには、次のコマンドを使用できます
list_batch_requests -all -long
そして「ユーザー」としてフレッドの名前を探してください
|
Request: 59User: Fred.SysAdmin Time queued: 10-08-11 05:00:02 edt Deferred until: 10-08-12 05:00:00 edt Attributes: waiting, not privileged, cannot restart Process priority: 5 Queue priority: 4 Process name: test Command: test.cm Output path: %system#m16_mas>SysAdmin>Fred>test.out Home dir: %system#m16_mas>SysAdmin>Fred Notify users: Fred.* on %system#* |
コマンドを使用できます
analyze_system -request_line (string match fred (byte 3Bx) who) -quit
Fredの名義で実行されているプロセスを特定する。
analyze_system -request_line (string match fred (byte 3Bx) who) -quit OpenVOS Release 17.0.2ah, analyze_system Release 17.0.2ah Current process is 182, ptep 958C5000, Noah_Davids.CAC * 162 958C5000 551080B6 Fred.SysAdmin (testing) |
以下のコマンドマクロを使用すると、プロセスが実行されている名称に関係なく、Fredによって作成されたすべての実行中のプログラムモジュールを検索できます。このマクロは、すべての実行中のプログラムモジュールのリストを作成し、display_file_statusを実行してプログラムモジュールファイルの作成者を特定し、display_program_moduleを実行してプログラムモジュールのバインド者を特定します。 入力文字列と一致する名前を持つ者によって作成またはバインドされたプログラムモジュールは、そのモジュールを実行中のプロセスと共に表示されます。また、現在のディレクトリに wr_&NAME&.(日付).out という名前のレポートを作成します。ここで &NAME& はマクロに渡された引数です。すべての名前は小文字に変換されます。名前が指定されない場合、実行中のすべてのプログラムモジュールの情報を表示し、レポート名は wr.(日付).out となります。
whos_running fred%phx_vos#m15_mas>システム管理者>ジョージ>loop.pm作成者: Fred.SysAdmin 作成者: George.SysAdmin loop.pm: オブジェクトは George.SysAdmin (loop) によってモジュール上で読み取りロックされています %phx_vos#m16 ループ.pmを実行中。============================================================%phx_vos#m15_mas>Production>test>ftpd.pm バインド元: Stcp_Install.Installer 作成者: Fred.SysAdmin ftpd.pm: オブジェクトはProduction.SysAdmin(テスト中)によってモジュール上で読み取りロックされています %phx_vos#m16 が ftpd.pm を実行中。 準備完了 09:05:22
|
& whos_running begins_here |
