У меня есть машина с Windows, которая подключается к удаленной машине с Linux, на которой работает моя Java-программа. Как я могу запустить команду, например, «free -m» на удаленной машине Linux и собирать данные на машине Windows. Любая стратегия?
Вы можете выполнить команду Linux из Java-программы удаленно, используя Jsch и wait4j . Например, посмотрите на этот вопрос .
Если вы используете что-либо, кроме jsch , вы рискуете богохульствовать:)
Вы можете использовать ssh user@host free -m. Просто возьмите ssh-клиент для Windows. Лично я предпочитаю Cygwin, который также даст вам хороший способ написания сценариев с использованием bash.
ssh user@host free -m
Я ранее использовал Trilead SSH , который был великолепен и прост в использовании. К сожалению, Trilead его больше не поддерживает, однако, согласно этому сайту (там много ссылок SSH), бывшая версия Trilead теперь здесь .