Как я могу SSH к машине Unix и хвост из Java? - PullRequest
1 голос
/ 04 декабря 2011

Я хочу подключиться к удаленной Unix-машине, а затем tail -f. Кто-нибудь знает, есть ли библиотека или какой-то способ сделать это?

Ответы [ 2 ]

3 голосов
/ 04 декабря 2011

Раньше мы использовали http://www.jcraft.com/jsch/ еще в 2004 году - у нас все работало нормально.

Запуск процессов также является хорошим вариантом, но он привязывает вас к определенной ОС (или определенному набору ОС).

Проверьте sources из ant s sshexec задача: они используют одну и ту же библиотеку. Связь поддерживается библиотекой; выходной поток настраивается с помощью setOutputStream и setExtOutputStream.

Вам может потребоваться удалить тайм-аут или сделать его немного более интеллектуальным, чтобы вы могли прервать соединение, только если в течение долгого времени не было новых данных.

2 голосов
/ 04 декабря 2011

Вы можете просто запустить новый процесс и выполнить любую команду оболочки, какую пожелаете.Что-то вроде:

String[] procArgs = { "ssh", "arguments" }; // set arguments here.
Process process = Runtime.getRuntime().exec(procArgs);
...