Purtroppo per il programma che ho dovuto fare io, mi bastava eseguire un solo comando sul server Linux a seconda della pressione di un pulsante.. Cmq, non vorrei dirti una cavolata, ma credo che la funzione executeCommand(cmd) della classe Session si occupi da sola di proseguire nell'esecuzione solo al termine del comando inviato al server (in caso di errore si potrebbe recuperare il segnale di uscita con getExitSignal() o il valore di uscita se disponibile con getExitStatus()). Quindi se ad esempio vuoi eseguire un "ls" sul server e poi una visualizzazione della data con "datetime" potresti fare semplicemente così...
codice:
try {
//viene eseguito il comando ls
sess.execCommand("ls");
//si arriva in questo punto solo al termine dell'esecuzione di ls
//qui si potrebbe recuperare lo stdoutput prodotto da ls o un eventuale codice di
//errore
//viene eseguito il comando datetime
sess.executeCommand("datetime");
} //fine try
catch (Exception e) {
e.printStackTrace(System.err);
System.exit(3);
}