Hallo,
ich bin dabei eine Anwendung zu schreiben, welche auf meinen Linux-Server (Ubuntu) per ssh Verbindung zugreift. Ich realisiere das per JSch. Zusätzlich möchte ich in der Verbindung auf einen screen-Prozess zugreifen.
Dieser Code funktioniert auch ohne Probleme (Example von jcraft.com):
Erster Gedanke war, dass ich per command über ein Befehl an den screen Prozess senden könnte.
Soweit geht das auch. Mein Problem ist, dass ich bei bestimmten Befehlen auch Rückgaben in der Konsole bekommen. Diese möchte ich auch verarbeiten.
Hat jemand einen Ansatz wie ich an den screen Prozess per Java drankomme um direkt damit zu arbeiten?
Danke fürs lesen.
MFG
ich bin dabei eine Anwendung zu schreiben, welche auf meinen Linux-Server (Ubuntu) per ssh Verbindung zugreift. Ich realisiere das per JSch. Zusätzlich möchte ich in der Verbindung auf einen screen-Prozess zugreifen.
Dieser Code funktioniert auch ohne Probleme (Example von jcraft.com):
Java:
JSch jsch = new JSch();
Session session = jsch.getSession(user, host, 22);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.connect(10*1000);
Channel channel=session.openChannel("shell");
Channel screen = null;
InputStream is = new ByteArrayInputStream(command.getBytes());
channel.setInputStream(is);
channel.setOutputStream(System.out);
channel.connect(15 * 1000);
Thread.sleep(3*1000);
channel.disconnect();
session.disconnect();
Erster Gedanke war, dass ich per command über ein Befehl an den screen Prozess senden könnte.
Java:
String command = "screen -S SITZUNG -X stuff $'BEFEHL\n'\n";
Soweit geht das auch. Mein Problem ist, dass ich bei bestimmten Befehlen auch Rückgaben in der Konsole bekommen. Diese möchte ich auch verarbeiten.
Hat jemand einen Ansatz wie ich an den screen Prozess per Java drankomme um direkt damit zu arbeiten?
Danke fürs lesen.
MFG