Sto usando il seguente codice per ottenere i dettagli di tutti i processi in esecuzione nel sistema:Come usare Symbol tubo attraverso exec in Java
Process p = Runtime.getRuntime().exec("ps aux");
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new
InputStreamReader(p.getErrorStream()));
voglio filtrare ps aux
verso il basso con il simbolo di tubo in modo che uso this:
Process p = Runtime.getRuntime().exec("ps aux | grep java");
Va a ErrorStream. Più tardi ho notato che il simbolo Pipe (|) è utilizzato come operatore di bitwise incluso in Java. Così ho usato backslash davanti a simbolo pipe come illustrato di seguito:
Process p = Runtime.getRuntime().exec("ps aux \\| grep java");
Ma ancora una volta si va al ErrorStream. Come posso eseguire ps aux | grep java
tramite exec in Java?
solo per chiarire, l'operatore OR '|' non viene interpretato all'interno delle stringhe in modo da non dovrebbe bisogno di fuggire. –