Obtenga la lista de procesos en Windows de una manera segura

Esta publicación ofrece una solución para recuperar la lista de procesos en ejecución en Windows. En esencia lo hace:

String cmd = System.getenv("windir") + "\\system32\\" + "tasklist.exe";
Process p = Runtime.getRuntime().exec(cmd);
InputStreamReader isr = new InputStreamReader(p.getInputStream());
BufferedReader input = new BufferedReader(isr);

luego lee la entrada.

Se ve y funciona bien, pero me preguntaba si existe la posibilidad de que el conjunto de caracteres utilizado por la lista de tareas no sea el conjunto de caracteres predeterminado y que esta llamada pueda fallar.

Por ejemploEsta otra pregunta sobre un ejecutable diferente. demuestra que podría causar algunos problemas.

Si ese es el caso, ¿hay una manera de determinar cuál sería el conjunto de caracteres apropiado?

Respuestas a la pregunta(4)

Su respuesta a la pregunta