ホームページ >Java >&#&チュートリアル >Java は、さまざまなオペレーティング システム間でアクティブなプロセスとウィンドウの包括的なリストを取得するにはどうすればよいでしょうか?
Java を使用してアクティブなプロセスとウィンドウの包括的なリストを取得する方法
問題:
現在実行中のプロセスと開いているウィンドウの列挙リストを取得するマルチプラットフォーム ソリューションを Java で考案し、 Windows の 'tasklist' 関数に似ています。
解決策:
Java は、基礎となるオペレーティング システムと対話するための堅牢なライブラリを提供しており、これにより、タスク リストのカタログを取得できます。ネイティブ コマンドを使用したアクティブなプロセスとウィンドウ。ここでは 2 つのアプローチを示します。
アプローチ 1: コマンドからプロセス リストを解析する
このアプローチでは、'ps' コマンド (ほとんどの Unix 系システムに存在します) を利用してリストを取得します。実行中のすべてのプロセス (関連する詳細を含む)。
try { String line; Process p = Runtime.getRuntime().exec("ps -e"); BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); while ((line = input.readLine()) != null) { System.out.println(line); //<-- Parse data here. } input.close(); } catch (Exception err) { err.printStackTrace(); }
アプローチ 2: Windows での Tasklist コマンドの使用
Windows ベースのシステムでは、「ps」コマンドは使用できません。代わりに、「tasklist」ユーティリティを使用してプロセス情報を取得できます。
Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\system32\"+"tasklist.exe");
データの解析と処理
適切なコマンドを実行すると、次のことが可能になります。出力を解析して、プロセス ID、名前、ウィンドウ タイトルなど、特定のプロセスまたはウィンドウの詳細を抽出します。 Java の文字列解析機能と正規表現を利用すると、このタスクを簡素化できます。
以上がJava は、さまざまなオペレーティング システム間でアクティブなプロセスとウィンドウの包括的なリストを取得するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。