Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 01.03.2017
Сообщений: 53

Список процессов

12.04.2017, 14:10. Показов 2334. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Получаю список процессов таким путем:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class proclist {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
 
    
 
            try {
                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); //<-- Parse data here.
                }
                input.close();
            } catch (Exception err) {
                err.printStackTrace();
            }
    
    }
 
}
В результате получаю несколько колонок, с ненужно мне информацией, такой как PID и прочее. КАк мне оставить только само название процесса?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.04.2017, 14:10
Ответы с готовыми решениями:

Можно ли вывести список процессов?
И снова здравствуйте CyberForum'цы,у меня возник вопрос,которому разумного решения я не нашел. Так вот мне надо вывести список процессов...

Список процессов
Нужно вывести на экран писок процессов, идентификаторы которых меньше 1000,и запущенных от имени пользователя root. ps aux | grep root...

Список процессов
Всем вечер добрый. Вопрос такой имеется код: PACKAGE void __fastcall GetActiveAppList (TStringList *slist) { if (!slist)...

9
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
12.04.2017, 15:07
Java
1
2
3
4
5
6
7
8
9
10
11
12
        try {
            String line;
            Process p = Runtime.getRuntime().exec(System.getenv("windir") + "\\system32" + "tasklist.exe /FO CSV");
            BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
            while ((line = input.readLine()) != null) {
                String procName = line.split("","")[0].replaceAll(""","");
                System.out.println(procName);
            }
            input.close();
        } catch (Exception err) {
            err.printStackTrace();
        }
Добавлено через 1 минуту
экранирование кавычек хавает форум, но думаю разберешься
0
1 / 1 / 0
Регистрация: 01.03.2017
Сообщений: 53
15.04.2017, 15:38  [ТС]
оно ругается на ваш код
Java
1
2
3
4
5
6
    The method split(String, int) in the type String is not applicable for the arguments (String, String)
    Syntax error, insert ")" to complete MethodInvocation
    Syntax error, insert ";" to complete BlockStatements
    String literal is not properly closed by a double-quote
 
    at proclist.main(proclist.java:17)
если сделать так:
Java
1
2
3
 String procName = line.split("","")[0].replaceAll("");
                         System.out.println(procName);
            }
ругается вот:
Java
1
The method split(String, int) in the type String is not applicable for the arguments (String, String)
0
1 / 1 / 0
Регистрация: 01.03.2017
Сообщений: 53
29.04.2017, 15:47  [ТС]
все еще актуально
если кто может помочь - буду признателен
0
 Аватар для rerf2010rerf
46 / 79 / 6
Регистрация: 10.08.2013
Сообщений: 237
29.04.2017, 16:11
dropych, если почитать документацию по split:
public String[] split(String regex,
int limit)

Splits this string around matches of the given regular expression.

The array returned by this method contains each substring of this string that is terminated by another substring that matches the given expression or is terminated by the end of the string. The substrings in the array are in the order in which they occur in this string. If the expression does not match any part of the input then the resulting array has just one element, namely this string.

The limit parameter controls the number of times the pattern is applied and therefore affects the length of the resulting array. If the limit n is greater than zero then the pattern will be applied at most n - 1 times, the array's length will be no greater than n, and the array's last entry will contain all input beyond the last matched delimiter. If n is non-positive then the pattern will be applied as many times as possible and the array can have any length. If n is zero then the pattern will be applied as many times as possible, the array can have any length, and trailing empty strings will be discarded.
То станет ясно, что первый аргумент там - разделитель, смотрите чем разделяются колонки в выводе tasklist, пробелами наверное. А второй аргумент вообще не обязателен, но в вашем случае можно указать 2.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
29.04.2017, 16:13
Java
1
2
3
4
5
6
7
8
try {
            Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\"+"tasklist.exe /FO CSV");
            try (BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
                CSVFormat.EXCEL.parse(input).getRecords().stream().map(r->r.get(0)).forEach(System.out::println);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
0
1 / 1 / 0
Регистрация: 01.03.2017
Сообщений: 53
29.04.2017, 17:30  [ТС]
Для использования CSVFormat нужна какая-то библиотека?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
29.04.2017, 18:32
Сам то как думаешь?
0
1 / 1 / 0
Регистрация: 01.03.2017
Сообщений: 53
29.04.2017, 19:08  [ТС]
поэтому и спрашиваю, раз не знаю
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
29.04.2017, 21:49
Ну если твоя IDE не знает, что это за класс, то нужна какая-то библиотека? Логики совсем нет?
берем CSVFormat, выделяем, нажимаем правой кнопкой, тыкаем "Найти в Google", и видим самым первым результатом Apache commons CSV. Неужели это настолько сложно, что программисту требуется 3 часа, чтобы сообразить, как это делается?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.04.2017, 21:49
Помогаю со студенческими работами здесь

Список процессов.
Здравствуйте. Я вывел на экран список процессов запущенных в системе с помощью ToolHelp32 API. (CreateToolhelp32Snapshot, Process32First и...

Список процессов
возможно как то получить в драйвере список запущенных процессов?

Список процессов и пользователей
Добрый вечер, Я в WinAPI новичок, потому хотел бы попросить помощи в программе у более опытных программистов. Необходимо выдать...

Список программ и процессов
Добрый вечер.Хотелось бы получить помощь по одному насущному вопросу. Необходимо (допустим при нажатии кнопки) получить список...

Получить список процессов
Собственно сабж,но есть небольшое дополнение: После того, как юзер выберет нужный процесс, мы должны проверить подходит ли выбранный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru