Иногда вам может потребоваться использовать код для управления выполнением команд Linux для реализации определенных функций.
Для этой проблемы JSCH можно использовать для его реализации. Конкретный код заключается в следующем:
открытый класс cogradientImgfileManager {private Static Final Logger log = loggerFactory.getLogger (cogradientImgfileNager.class); частный статический канал channelExec; частная статическая сессия = null; частное статическое время -аут = 60000; // Тестовый код публичный статический void main (string [] args) {try {versousShutil ("10.8.12.189", "jmuser", "root1234", 22); Runcmd ("java -version", "UTF-8");} Catch Exception e) {// todo auto-chear blocke.printstacktrace ();}}/*** Подключитесь к удаленному серверу* @param хост IP -адрес* @param username имени входа в систему* @param Пароль пароль* @param port port* @Throws Exception*/public void verSousShutil (string host, string userme, string porly, int port) exception {log. Имя пользователя + ", пароль:" + пароль + ", порт:" + port); jsch jsch = new jsch (); // Создать jsch Object Session = jsch.getSession (имя пользователя, хост, порт); // Получить сеанс сеанса объекта.setPassword (пароль); // Установить свойства пароля config = new Properties (); config.put ("stricthostKeyChecking", "no"); Session.SetConfig (config); // Установить Propertiessessession.setTimeout (Timeout); // Установить сеанс тайм -аута.connect (); // Создать ссылку через сеанс}/*** выполнить команду выполнения на удаленном сервере* @param CMD -строки, которая будет выполнена* @param charset necoding* @Throws Exception*/public static void runCmd (String cmd, string charset) throws exception {channelexec = (cannelexec) session.openChannel("exec");channelExec.setCommand(cmd);channelExec.setInputStream(null);channelExec.setErrStream(System.err);channelExec.connect();InputStream in = channelExec.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(in, Charset.forName(charset)));String buf = null; while (((buf = reader.readline ())! = null) {system.out.println (buf);} reader.close (); Channelexec.disconnect ();}}