シナリオ: 特定のプロセスが実行されているかどうかを確認し、実行されている場合は終了するまで待ちます。
私の Perl スクリプトは WMI-->Win32_Process を使用して、実行中のプロセスのリストを取得しています。以下のコードで実行中のプロセスを見つけることができます
my $objWMIService = Win32::OLE->GetObject("winmgmts:\\\\localhost\\root\\CIMV2");
my $sqry = "SELECT * FROM Win32_Process where Name = \"$processName\" ";`
$processName
スクリプトで設定されている場所。
上記のコードはデスクトップでは正常に動作しますが、ターミナル サーバーでは別の方法で動作します。これは、上記のコードが他のユーザーの実行中のプロセスを取得するためです。
質問: 上記のクエリにユーザー名/ID フィルターを追加するにはどうすればよいですか? 現在のユーザーのプロセスを取得する簡単な方法はありますか?