ローグプロセス管理の動作方法

Windowsオペレーティングシステムは、現在実行中のすべてのプロセスを追跡します。Windowsのタスクマネージャの[プロセス]タブを表示して(タスクバーを右クリックし、[タスクマネージャ]>[プロセス]の順にクリックして)、このリストを表示することができます。

各プロセスは、プロセス識別子(PID)と親プロセス識別子(親PID)の両方を持っています。親PIDは、そのプロセスを起動したプロセスを識別します。Application LauncherはWindows APIを使用して、3秒ごとにPIDと親PIDを含むプロセスリストを取得します。Application Launcherは親PIDを使用して、プロセスがローグプロセスかどうかを判断します。親PIDがApplication LauncherのPIDでない場合、またはプロセスがLocalSystemユーザとして実行されていない場合、プロセスはローグプロセスです。

Application Launcherはローグプロセスを識別した後、プロセスを無視または終了し、例外リストで指定されたプロセスを考慮して、適切な管理アクションを実行します。ログ作成が有効の場合、ローグプロセス情報のログファイルへの書き込みも行います。


Windows NTとの相違

Windows 98/2000/XPでは、プロセスリストを取得するためにApplication Launcherが使用するWindows APIは、親PIDをサポートしています。これにより、Application LauncherはWindows 98/2000/XPワークステーション上でローグプロセスを正しく識別することができます。

しかし、Windows NT 4.0では、Application Launcherが使用するWindows APIは親PIDをサポートしていません。そのため、Application Launcherは、Application Launcherが起動したプロセスを含め、すべての非LocalSystemユーザプロセスをローグプロセスとして識別します。設定された管理アクションに従って、Application Launcherはローグプロセスを無視または終了します。

Windows NT 4.0 APIのこの制限を克服するには、ローグプロセスを終了するようにApplication Launcherを設定し、Application Launcherによって起動されたアプリケーションを例外リストに追加する必要があります。詳細と手順はWindows NT 4.0ワークステーションでのローグプロセス管理のセットアップで説明します。