Estoy utilizando el código siguiente para obtener los detalles de todos los procesos que se ejecutan en el sistema:Cómo utilizar símbolo de canalización a través ejecutivo en Java
Process p = Runtime.getRuntime().exec("ps aux");
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));
que desea filtrar ps aux
abajo con el símbolo de canalización, así que uso esto:
Process p = Runtime.getRuntime().exec("ps aux | grep java");
Va al ErrorStream. Más tarde noté que el Símbolo de pipa (|) se utiliza como Operador OR con inclusión de bits en Java. Por lo que utiliza la barra invertida delante de la barra vertical como se muestra a continuación:
Process p = Runtime.getRuntime().exec("ps aux \\| grep java");
Pero de nuevo se va a la flujoError. ¿Cómo puedo ejecutar ps aux | grep java
a través de exec en Java?
Solo para aclarar, el operador binario OR '|' no se interpreta dentro de cadenas por lo que no debe necesito escapar de eso –