package com.xebialabs.overthere; import static com.xebialabs.overthere.ConnectionOptions.ADDRESS; import static com.xebialabs.overthere.ConnectionOptions.OPERATING_SYSTEM; import static com.xebialabs.overthere.ConnectionOptions.PASSWORD; import static com.xebialabs.overthere.ConnectionOptions.USERNAME; import static com.xebialabs.overthere.OperatingSystemFamily.UNIX; import static com.xebialabs.overthere.ssh.SshConnectionBuilder.CONNECTION_TYPE; import static com.xebialabs.overthere.ssh.SshConnectionType.SFTP; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import com.xebialabs.overthere.CmdLine; import com.xebialabs.overthere.ConnectionOptions; import com.xebialabs.overthere.Overthere; import com.xebialabs.overthere.OverthereConnection; import com.xebialabs.overthere.OverthereProcess; public class StartProcess { public static void main(String[] args) throws InterruptedException, IOException { ConnectionOptions options = new ConnectionOptions(); options.set(ADDRESS, "unix-box"); options.set(USERNAME, "demo"); options.set(PASSWORD, "secret"); options.set(OPERATING_SYSTEM, UNIX); options.set(CONNECTION_TYPE, SFTP); OverthereConnection connection = Overthere.getConnection("ssh", options); try { OverthereProcess process = connection.startProcess(CmdLine.build("cat", "/etc/motd")); BufferedReader stdout = new BufferedReader(new InputStreamReader(process.getStdout())); try { String line; while((line = stdout.readLine()) != null) { System.err.println(line); } } finally { stdout.close(); } int exitCode = process.waitFor(); System.err.println("Exit code: " + exitCode); } finally { connection.close(); } } }