011.【バッチコントローラ】起動型アプリケーションは終了しているがバッチジョブコントローラ(bctrl.exe)が終了していない
| 質問 |
起動型アプリケーションは既に終了しているが、バッチジョブコントローラ(bctrl.exe)が終了せず、プロセスが残ったままになる。 |
| 回答 |
バッチジョブコントローラを起動するときの引数に、"EAPW"を指定しています。 バッチジョブコントローラはモニタウィンドウがクローズされた時点でプロセスが終了します。
起動コマンドパラメータでEAPW(モニタウィンドウ・アンクローズド・モード)が指定されていると、手動でモニタウィンドウをクローズするまでバッチコントローラの実プロセスは実行中となり、ジョブ状況表示ではジョブ終了となります。
この時、NISMailサービスがデスクトップとの対話を許可されていないと、このモニタウィンドウはオープンされているにもかかわらず、ディスプレイ上には表示されないため、手動でのモニタウィンドウのクローズが行えません。
影響としては、バッチコントローラは実行されるごとにプロセスが独立して起動されるため、複数のバッチコントローラのプロセスが実行中のままとなり、最終的にメモリを圧迫してしまいます。
この現象は以下の方法で回避が可能です。 1.バッチコントローラを起動するときの引数で、EAP(モニタウィンドウ・クローズド・モード)を指定する。 2.デバッグなどでバッチコントローラの動作を確認するときは、NISMailサービスにデスクトップとの対話を許可して、手動でモニタウィンドウをクローズする。 |
|