Как я могу получить общее количество дочерних потоков, запущенных под одним процессом? - PullRequest
0 голосов
/ 19 марта 2012

У меня есть код, который дает мне список процессов, запущенных на моем компьютере.

     String line;
     Process p = Runtime.getRuntime().exec
        (System.getenv("windir") +"\\system32\\"+"tasklist.exe");
     BufferedReader input =
            new BufferedReader(new InputStreamReader(p.getInputStream()));
     while ((line = input.readLine()) != null) {
     System.out.println(line);

В этом коде приведен список запущенных процессов.

Предположим, у меня запущено 2 блокнота, тогда он выдаст две строки, имеющие notepad.exe.

Но предположим, что я открыл два документа Word, тогда будет только один word.exe. Поскольку в этом случае под одним процессом открываются два дочерних потока.

Итак, мой вопрос: как я могу получить общее количество дочерних потоков, запущенных под одним процессом?

1 Ответ

0 голосов
/ 19 марта 2012

Вы можете сделать это с помощью pslist.exe из sysinternals

http://technet.microsoft.com/de-de/sysinternals/bb896682

например. pslist -x chrome получает все темы из всех процессов chrome

Вызов pslist.exe и получение результата можно выполнить аналогично вызову tasklist.exe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...