117.info
人生若只如初见

java怎么远程执行linux命令

可以使用Java中的ProcessBuilder类来远程执行Linux命令。下面是一个简单的示例代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class RemoteCommandExecutor {
public static void main(String[] args) {
String host = "your_remote_host";
String username = "your_username";
String password = "your_password";
String command = "your_command";
String sshCommand = String.format("sshpass -p %s ssh %s@%s %s", password, username, host, command);
try {
ProcessBuilder processBuilder = new ProcessBuilder("/bin/bash", "-c", sshCommand);
Process process = processBuilder.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
int exitCode = process.waitFor();
System.out.println("Exit code: " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}

请注意,这个示例代码使用了sshpass命令来自动输入密码,这是因为ProcessBuilder类无法直接在交互式登录时输入密码。需要使用sshpass或其他类似的工具来实现自动化输入密码。

另外,为了远程执行命令,你需要在本地机器上安装SSH,并确保你的Java程序有足够的权限来连接远程主机。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe677AzsLBAJWBVc.html

推荐文章

  • linux怎么查询java进程

    要查询Java进程,您可以使用以下命令: 使用 ps 命令结合 grep 过滤器查询正在运行的 Java 进程: ps -ef | grep java 使用 jps 命令查询正在运行的 Java 进程:...

  • linux怎么杀死所有java进程

    要杀死所有Java进程,可以使用以下命令: 使用ps命令列出所有Java进程的PID(进程ID): ps -ef | grep java 使用kill命令逐个杀死Java进程: kill 其中,是ps命...

  • linux怎么调用java方法

    在Linux系统中,可以通过以下步骤调用Java方法: 安装Java开发环境:在Linux系统上安装Java Development Kit (JDK)。可以使用包管理工具,如apt或yum来安装JDK。...

  • linux怎么排查java内存泄露

    要排查Java内存泄露,可以按照以下步骤进行: 使用Java的内存分析工具,例如Eclipse Memory Analyzer (MAT)、jvisualvm等,来分析Java堆内存使用情况。这些工具可...

  • 怎么修改plsql的编码方式

    要修改PL/SQL的编码方式,可以按照以下步骤进行操作: 打开PL/SQL开发工具,例如Oracle SQL Developer或者PL/SQL Developer。 在工具的菜单栏中找到"Tools"(工具...

  • plsql如何调整输出行宽

    在PL/SQL中,可以使用DBMS_OUTPUT包来调整输出行宽。以下是调整输出行宽的步骤: 在PL/SQL程序的开头,添加以下语句启用DBMS_OUTPUT: SET SERVEROUTPUT ON; 使用...

  • java怎么让输出数据对齐

    ?Java?,????????????????????????????%?????,???????????
    ???????????????: ???:??-?????????,????????? String name = "John";
    int age = 25;
    S...

  • java中的format方法如何使用

    Java中的format方法可以通过以下方式使用: 使用格式化字符串作为参数: String formattedString = String.format("格式化字符串", 参数1, 参数2, ...); 示例:<...