Например, в Windows одной из возможностей является инкапсуляция системного вызова в TASKLIST.EXE
Выписка из кода:
Process p = Runtime.getRuntime().exec("tasklist.exe /fo csv /nh");
BufferedReader input = new BufferedReader
(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
if (!line.trim().equals("")) {
// keep only the process name
line = line.substring(1);
processes.add(line.substring(0, line.indexOf(""")));
}
}
Вы должны использовать tasklist /V
, так как он поставляется с параметрами процессов.