Salve a tutti, ho un problema ed è una mattinata che ci
Praticamente ho fatto una connessione ssh ,ad una macchina linux, tramite la libreria jsch e fin qui tutto bene.

Ho problemi su come leggere l'output della macchina linux a cui mi collego, nel senso che se per esempio eseguo "ls" dopo che ha finito di listare il contenuto mi si blocca sul comando readLine(), è come se non riceve EOF o comunque non capisce quando la macchina linux ha finito di inviare "risultati".

Ho cercato online e tutti quelli che hanno fatto la mia stessa cosa non hanno avuto questo problema.

Come posso risolvere???


codice:
class Ssh {

    JSch jsch;
    Channel channel;
    Session session;
    protected String utente, pw, ip;
    String risultato="a";
    BufferedWriter bw;
    BufferedReader br;

    Ssh(String ut, String psw, String ad) {
        utente = ut;
        pw = psw;
        ip = ad;
            }
    
    void connetti() {
        try {
            jsch = new JSch();
            session = jsch.getSession(utente, ip, 22);
            session.setConfig("StrictHostKeyChecking", "no");
            session.setPassword(pw);
            session.connect(30000);
            channel = session.openChannel("shell");
            bw = new BufferedWriter(new OutputStreamWriter(channel.getOutputStream()));
            br = new BufferedReader(new InputStreamReader(channel.getInputStream()));
            channel.connect(30000);
               } 
         catch (Exception e) {
            System.err.println(e);
                                     }
    }
            
 
    leggi() {
        try {
            System.out.println("sono nella leggi");
            
            while (risultato!=null) {
                
                System.out.println("br.readline");
                risultato = br.readLine();
                System.out.println(risultato);
                       }
     }          }

}

Grazie, per qualunque aiuto